Skip to content

Instantly share code, notes, and snippets.

@racsonp
racsonp / excelgenerator.pl
Created February 12, 2016 17:03
Generador de Excel
#!/usr/bin/perl
use strict;
use IO::Scalar;
use DBI;
use CGI;
use Spreadsheet::WriteExcel;
use constant C_HEADING => 0;
use constant C_WIDTH => 1;
my @columns = (
@racsonp
racsonp / PerlLinks.txt
Last active May 4, 2016 09:17
Commands & Links for Perl DEV
@racsonp
racsonp / ticketmonitor.pl
Last active February 12, 2016 20:23
OTRS add ticketmonitor.pl
#!/usr/bin/perl -w
# DBI is the standard database interface for Perl
# DBD is the Perl module that we use to connect to the <a href="http://mysql.com/" />MySQL</a> database
use DBI;
use DBD::mysql;
# we use CGI since this will be executed in a browser
use CGI qw(:standard);
@racsonp
racsonp / asignaciones.pl
Last active February 12, 2016 21:10
Primer CGI en Perl
#!/usr/bin/perl -w
# DBI is the standard database interface for Perl
# DBD is the Perl module that we use to connect to the <a href="http://mysql.com/" />MySQL</a> database
use DBI;
use DBD::mysql;
# we use CGI since this will be executed in a browser
use CGI qw(:standard);
@racsonp
racsonp / TicketCompletadosWithCustmInfo.sql
Created January 26, 2016 22:09
Reporte de Ticket completados con Nombre del cliente y numero Tel. contacto.
SELECT t.tn as 'Ticket', nc.NombreCliente AS 'Nombre Cliente' , Prestamo As 'No. Prestamo', tc.Telefono AS 'Telefono', ec.email AS ' Correo Electronico'
FROM ticket t
JOIN (
SELECT DISTINCT t.ID , t.tn as 'Ticket', f.VALUE_TEXT AS 'NombreCliente'
FROM ticket t
left outer JOIN dynamic_field_value f on f.field_id = 18 AND t.ID = f.OBJECT_ID
WHERE t.CUSTOMER_ID = 'crediq' AND t.ticket_state_id = 19
) nc on nc.Id = t.Id
JOIN (
SELECT DISTINCT t.ID, t.tn , f.VALUE_TEXT AS 'Telefono'
@racsonp
racsonp / AsignacionesActulesUsuarioTicketTiempo+TiemposEnQueueAnterios.sql
Last active March 22, 2018 23:27
Reporte de Monitoreo de productividad por agente: Consulta Usuarios-Ticket “Actuales” (desde el momento que han sido asignados) con el tiempo que llevan determinado estado, queue y tiempos MAS tiempos que estuvo en Queue Anterior
---Historial de Ticket por cambio de owner (OwnerUpdate = 23 )
---Version con el calculo de tiempos corregidos 02 Feb. 2016
SELECT
USUARIO AS 'USUARIO', TN as 'TICKET'
,CASE WHEN TIEMPO < 59 THEN CONCAT( CAST(TIEMPO AS CHAR) , ' Minutos')
WHEN TIEMPO BETWEEN 60 AND 1440 THEN CONCAT( CAST(ROUND((TIEMPO/60),1) AS CHAR) , ' Horas')
WHEN TIEMPO > 1440 THEN CONCAT( CAST( ROUND(((TIEMPO/60)/24),1) AS CHAR) , ' Dias')
ELSE '' END AS 'TIEMPO'
@racsonp
racsonp / Reportes_NoPrestamosRepetidos.sql
Last active January 26, 2016 22:08
Reporte OTRS. Reporte consulta de ticket con numero de préstamo repetido
--http://190.242.151.179/otrs/index.pl
SELECT NumeroPrestamo , Numero, T AS 'Numero de Ticket', t.create_time AS 'Fecha Creación', t.Usuario AS 'Responsable', t.Estado AS 'Estado'
FROM
(
SELECT f.VALUE_TEXT AS 'NumeroPrestamo' , COUNT(t.tn) AS 'Numero' FROM ticket t
JOIN dynamic_field_value f on f.field_id = 17 AND t.ID = f.OBJECT_ID
WHERE t.create_time BETWEEN CAST('2016-01-09' AS DATE) AND CAST('2016-01-30' AS DATE)
AND CUSTOMER_ID = 'crediq' AND t.ticket_state_id <> 11
GROUP BY f.VALUE_TEXT
@racsonp
racsonp / ReporteTicketPorEstado-Tiempo - COMPLETADOS.sql
Last active January 26, 2016 22:08
Reporte OTRS , Consulta Tiempos de tickets en un determiando estado(SOLO ESTADO COMPLETADO)
SELECT y.Ticket, y.Servicio, y.Estado, y.Fecha, y.Tiempo, y.Queue , y.Propietario
,CASE WHEN y.estadoId = 19 THEN (select a.A_BODY from article a where a.TICKET_ID =x.Tid order by a.CREATE_TIME desc LIMIT 1)
ELSE '' END AS 'Notas'
FROM
(
SELECT t.tn, s.name ,t.id as 'Tid', customer_id, t.ticket_state_id, 1 AS 'estadoId'
from ticket t
JOIN ticket_state s on s.id = t.ticket_state_id
where t.ticket_state_id = 19 AND customer_id = 'crediq'
) x
@racsonp
racsonp / AsignacionesActulesUsuarioTicketTiempo.sql
Last active January 21, 2016 22:17
Reporte OTRS: Consulta Usuarios-Ticket “Actuales” con el tiempo que llevan determinado estado y queue
--Reporte OTRS: Consulta Usuarios-Ticket “Actuales” con el tiempo que llevan determinado estado y queue
--Filtro: OwnerUpdate = 23
--Nota: Para especificar el periodo en que se quiere la información se debe Modificar los valores "Fecha Desde" y "Fecha Hasta"
SELECT USUARIO AS 'USUARIO', TN as 'TICKET'
,CASE WHEN TIEMPO < 59 THEN CONCAT( CAST(TIEMPO AS CHAR) , ' Minutos')
WHEN TIEMPO BETWEEN 60 AND 1440 THEN CONCAT( CAST(ROUND((TIEMPO/60),1) AS CHAR) , ' Horas')
WHEN TIEMPO > 1441 THEN CONCAT( CAST( ROUND(((TIEMPO/60)/24),1) AS CHAR) , ' Dias')
ELSE '' END AS 'TIEMPO'
,ESTADO, QUEUE
@racsonp
racsonp / Reporte_TicketXEstadoTiempo.sql
Last active January 21, 2016 22:18
Reporte OTRS , Consulta Tiempos de tickets en un determiando estado
--Reporte OTRS, Consulta Tiempos de tickets en un determinado estado
--Filtros: 27= StateUpdate & 1 = NewTicket
--Nota: Para especificar el periodo en que se quiere la información se debe Modificar los valores "Fecha Desde" y "Fecha Hasta"
SELECT TN AS 'Ticket', service AS 'Servicio',Name AS 'Estado', CREATE_TIME AS 'Fecha'
,CASE
WHEN TIEMPO < 59 THEN CONCAT( CAST(TIEMPO AS CHAR) , ' Minutos' )
WHEN TIEMPO BETWEEN 60 AND 1440 THEN CONCAT( CAST(ROUND((TIEMPO/60),1) AS CHAR) , ' Horas' )
WHEN TIEMPO > 1441 THEN CONCAT( CAST( ROUND(((TIEMPO/60)/24),1) AS CHAR) , ' Dias' )