Herramientas de usuario

Herramientas del sitio


escusabaraja

¡Esta es una revisión vieja del documento!


Escusabaraja

Cajón de sastre para apuntes sin ordenar. El contenido puede desaparecer en cualquier momento.

Cámara vigilancia coche

Las cámaras de acción tienen una batería que suele durar poco más de 2 horas.

Obligatorio:

  • Visión nocturna
  • Modo parking
  • Grabación continua
  • SD 128 GB
  • Conexión con batería
  • Ángulo de visión > 140º

Cámaras de salpicadero (dashcam):

Kit para cablear a la batería del coche:

Notas de foros:

  • Las Thinkware tienen fama de tener un buen “parking mode” que es lo que buscas.
  • Hay 3 opciones que cada vez traen más cámaras (otra cosa es que funcionen bien o no):
    • Motion detection: la cámara graba constantemente y sólo almacena los fragmentos en los que detecta movimiento a través de su óptica.
    • Timelapse: la cámara está constantemente grabando (y almacenando) a 2FPS en lugar de a 30 ó 60 FPS, que es la tasa a la que graba normalmente. Esto ocupa mucha menos memoria.
    • Con el G-sensor (sensor de las fuerzas G aplicadas al coche, o sea, que alguien mueva al coche y la cámara lo “note”). La cámara está inactiva y se pone a grabar (y por supuesto a almacenar) sólo cuando nota que el coche se ha movido.

Cada modo tiene sus cosillas que hay que mirar y considerar.

  • El motion detection, para que sea bueno, tiene que ser “prebuffered” (te lo pongo en inglés para que luego tú busques y te informes más si quieres, en informática un “buffer” es una memoria intermedia). Como te he comentado, este modo la cámara está siempre grabando (mirando), el problema es que algunas cámaras sólo almacenan el trozo en el que han notado movimiento. Lo interesante de que estas cámaras sean prebuffered, es que cuando detectan movimiento, almacenan también 10 segundos antes de la detección, así que te dan un poco más de contexto de lo que ha pasado.
  • Con el G-sensor, no hay prebuffer. Ahorras un montón de batería, pero la cámara está dormida y sólo graba (y almacena) cuando nota que al coche lo han movido, le han dado un toque, etc. Este modo tiene el problema añadido de que hay que ajustar el sensor de movimiento, porque si es muy sensible estará todo el rato saltando y grabando sin necesidad. Y si es poco sensible, puedes perderte parte de la “acción”.

Páginas de referencia que puedes consultar son dashcamtalk (que tienen foro además) y blackboxmycar (que es tienda, pero hace vídeos interesantes e instructivos). Las mejores cámaras de este modo suelen ser las coreanas, especialmente recomiendan la Thinkware F800 (tope de gama) y la Thinkware F50 (baratita). Pero seguro que en los foros te pueden ayudar mejor.

Por último, otra cosa que hay que tener en cuenta para usar el parking mode es que la cámara tiene que estar hardwired (conectada a la caja de fusibles), porque si la conectas al mechero la mayoría de coches cortan la corriente ahí cuando se apaga el motor. Las marcas más buenas te vienen con un hardwiring kit (un ladrón de fusibles o “tap-a-fuse” y un conversor de 12 a 5 V). Si no, te lo tendrás que comprar.

También hay que tener en cuenta que están tirando de la batería del coche. Si la cámara es buena, tendrá un detector de voltaje de la batería y dejará de funcionar cuando note que está floja, para que el coche no te deje tirado. Las cámaras más normalitas no lo traen y lo tienes que conectar tú cuando hagas el hardwiring. Otra opción en este sentido es comprar una batería adicional y conectar ahí la cámara. En blackboxmycar por ejemplo te las venden (se llaman cellink creo).

Perdonad, es que no he tenido tiempo de ponerme a responder.

Los kits de hardwiring más avanzados monitorizan la tensión de la batería para evitar que el coche no arranque. Un ejemplo de esos aparatos es el Power Magic Pro de la coreana BlackVue, el MotoPark Multi Safer también coreano o el VicoVation Vico-Power Plus. Puedes programarlos por tensión o incluso por tiempo.

Yo descarté tener la cámara en modo parking precisamente por lo mismo que tú: hay temporadas que no cojo el coche por varios días seguidos. Al final pusieron cámaras de seguridad en mi garaje y me ahorré el lío. El caso es que hablándolo con mi sobrino hoy, tiene razón: si no en el garaje, sí que interesa tenerlo funcionando en la calle, los centros comerciales…

Respecto a la duración de la batería, depende principalmente del consumo de la dashcam y de la capacidad de la que lleve tu coche (para mi Toyota, por ejemplo, veo que se venden entre 50 y 54 Ah). Aquí tienes una lista de consumos de referencia de diversos modelos (algunos con 2 cámaras y WiFi, ojo) funcionando normalmente (no en modo aparcamiento).

Como no te puedes pulir la batería entera porque la batería del coche no es una batería de ciclo profundo (deep-cycle), sino una batería SLI (starting, lighting, ignition), pues programas el corte de consumo con el aparatejo del hardwiring a 12.2V que es una medida intermedia, no demasiado conservadora pero tampoco tan arriesgada como los 12V a los que corta la Blackvue PowerMagic por ejemplo (que hay gente que los tiene así con baterías más grandes y les arranca bien sin problemas).

Con el aparato programado ya sabes hasta dónde te da la batería. Lo ideal sería, con la batería cargada, usar un multímetro para medir el voltaje que tiene ahora mismo tu batería, pero bueno. Vamos a hacer los cálculos (no sé si están bien):

Mi Viofo A119S creo que ronda los 1.5-2W de consumo funcionando normalmente. Vamos a suponer que una cámara en modo parking gaste 2W. Y vamos a pensar que la batería del coche es de 50 Ah. Y con el coche parado y la luz encendida, nos está dando en el multímetro entre 12.5 y 12.9V. Pongamos 12.8V.

P = V·I Al principio la batería dará 12.8 V · 50 Ah = 640 W. Al final, cuando el aparatejo corte, 12.2 V · 50 Ah = 610 W. Esos 30W de diferencia son los que tienes para la cámara. Si los dividimos entre los supuestos 2Wh que consume, tendrías para 15 h.

He hecho los cálculos con los datos que he visto de un fulano en el foro de dashcamtalk y me cuadran. Él dice que tiene una 650S-2ch con un Motopark que le corta a los 12.0V, y que su coche lleva una batería de 80Ah con la que graba más de 12h y al día siguiente arranca sin problemas. Como sabemos que esa cámara que él tiene, la 650S-2CH, consume 4.8 W en modo normal. Pues haciendo los cálculos…

12.8 V · 80 Ah = 1024W 12.0 V · 80 Ah = 960 W 1024 W - 960 W = 64W / 4.8 Wh = 13.3 horas.

… me cuadra con lo que cuenta el tío.

Otra opción es usar una powerbank. Una específica para coche o una de estas de los móviles. La de los móviles sobra decir que las desaconsejo porque no me fio de una batería de esas en un coche pegándole el solano en verano, por ejemplo. Vamos, para que se hinchen y te salga ardiendo. Bueno, de las específicas para esto, como las Cellink tampoco me fio pero eso ya es cosa mía.

El caso es que con una powerbank de estas de 20.000 mAh, puedes tener para 100 horas de modo parking (20000 mAh, que son 20 Ah, multiplicado por 5V para obtener los Wh). Aunque lo ideal sería no apurarla más de 80 horas, porque las baterías de litio se resienten cuando están cargadas al 100% mucho tiempo o muy descargadas (por debajo del 20%).

Lo que hace las Cellink creo que es combinar el consumo de la batería del coche con el extra de energía que proporcionan ellas. Así te dan un extra de tiempo de grabación en modo parking y cuando arrancas, se van cargando.

En fin, no sé si respondo vuestras preguntas @bol1bus y @javi_sev. Espero que los cálculos estén bien. Y si no, ya me corregirá alguien, que es lo bueno de Internet: nadie pierde el tiempo en ayudar, pero cuando alguien se equivoca, te llueven las críticas y correcciones jaja.

Haría un hilo sobre esto, pero ahora mismo estoy pasando una mala racha y ya bastante tengo con el hilo de los antivirus.

¡Saludos!

Repartidor

Calcular reparto:

/*
    Devuelve el número de elementos que deben asignarse a
    cada semana de forma equitativa.
*/
function repartidor($num_elementos, $num_semanas) {
 
    $division = ($num_elementos / $num_semanas);
 
    if ($division < 1) {
        for ($s = 1; $s <= $num_semanas; $s++) {
            if ($s == 1) {
                $tmp[$s] = $num_elementos;
            } else {
                $tmp[$s] = 0;
            }
 
        }
        return $tmp;
    } else {
        $reparto = round($num_elementos / $num_semanas);
        $ultimo_reparto = $num_elementos - $reparto*($num_semanas - 1);
 
        for ($s = 1; $s <= $num_semanas; $s++) {
            if ($s == $num_semanas) {
                $tmp[$s] = $ultimo_reparto;
            } else {
                $tmp[$s] = $reparto;
            }
        }
 
        return $tmp;
    }
 
}

Reparto:

/*
  Para cada conjunto de elementos, realiza un reparto en X semanas
*/
$semanas = 8;
 
foreach ($conjuntos as $conjunto) {
    $repartidor = repartidor(count($conjunto), $semanas);
 
    for ($s = 1; $s <= $semanas; $s++) {
        echo " - Para la semana {$s}: {$repartidor[$s]} elementos" . PHP_EOL;
        for ($i = 0; $i < $repartidor[$s]; $i++) {
            $reparto_semanas[$s][] = array_shift($contenedor);
        }    
    }
}

Ahora el código que realiza el reparto:

$semanas = 8;
$max_por_semana = 5;
$faltantes = [];
 
// Capacidad de cada semana
for ($s = 1; $s <= $semanas; $s++) {
	$capacidad[$s] = $max_por_semana;
}
 
echo "A repartir entre {$semanas} semanas" . PHP_EOL;
echo "Máximo {$max_por_semana} por semana" . PHP_EOL;
 
foreach ($conjuntos as $cliente => $lineas) {
	//var_dump($lineas);
	//echo " - - - - - - - -" . PHP_EOL;
	echo "- - - - - - Cliente {$cliente} - - - - - -" . PHP_EOL;
	echo "* Líneas: " . count($lineas) . PHP_EOL;
    $repartidor = repartidor(count($lineas), $semanas);
    echo "Reparto propuesto:" . PHP_EOL;
    var_dump($repartidor);
 
    for ($s = 1; $s <= $semanas; $s++) {
    	echo "Semana {$s}" . PHP_EOL;
        for ($i = 1; $i <= $repartidor[$s]; $i++) {
	    	// Comprobar espacio semana X
        	if ($capacidad[$s] != 0) {
            	$reparto_semanas[$s][] = array_shift($lineas);
            } else {
            	//$repartidor[$s+1] += ($repartidor[$s]-$s);
            	break;
            }
            $capacidad[$s]--;
            echo "Huecos libres: {$capacidad[$s]}" . PHP_EOL;
        }
    }
    if (count($lineas) != 0) {
    	//echo "Faltan por meter: " . PHP_EOL;
    	$faltantes[$cliente] = $lineas;
    	//var_dump($conjunto);
    }
}
 
//echo "Resultado final: " . PHP_EOL;
//var_dump($reparto_semanas);
/*
echo "Faltan por meter: " . PHP_EOL;
foreach ($faltantes as $cliente => $lineas) {
	echo "Cliente {$cliente}" . PHP_EOL;
	echo "  Líneas:" . PHP_EOL;
	foreach ($lineas as $linea) {
		echo " - ID: " . $linea["id_linea"]  . " (Marca: " . $linea["marca"]  . ")" . PHP_EOL;
	}
}
*/
 
echo " * * * * * * * Reparto * * * * * * * *" . PHP_EOL;
foreach ($reparto_semanas as $semana => $lineas) {
	echo "Semana {$semana}" . PHP_EOL;
	foreach ($lineas as $linea) {
		echo " - Línea: " . $linea["id_linea"] . " (cliente: " . $linea["cliente"] . ")" . PHP_EOL;
	}
}
 
if (count($faltantes) != 0) {
	echo "No se han podido meter:" . PHP_EOL;
	var_dump($faltantes);
}
//var_dump($faltantes);

Monitor 27 pulgadas

Marca Modelo HDMI DisplayPort USB C Brillo VESA Precio
Dell S2721DGFA No 400 cd/m2 404,99 €
Dell S2721DS No 279,99 €
Asus VG27AQ No 350 cd/m2 349 €
LG 27GN800 No 350 cd/m2 323,9 €
LG 27GP850 No 400 cd/m2 400,37 €
BenQ EX2780Q No 350 cd/m2 379 €
Lenovo Q27h 350 cd/m2 399 €

Daniela y Mia

Docker nginx-proxy

Dos contenedores:

  1. Tener instalado Docker Compose V2 (docker compose en lugar de docker-compose)
  2. Crear carpeta para este proyecto
  3. Crear red por defecto para que use el proxy y lo que se quiera levantar
    1. docker create network skynet
  4. Crear compose.yml
version: '2'

services:
  nginx-proxy:
    image: nginxproxy/nginx-proxy
    container_name: nginx-proxy
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - conf:/etc/nginx/conf.d
      - vhost:/etc/nginx/vhost.d
      - html:/usr/share/nginx/html
      - certs:/etc/nginx/certs:ro
      - /var/run/docker.sock:/tmp/docker.sock:ro
    network_mode: bridge

  acme-companion:
    image: nginxproxy/acme-companion
    container_name: nginx-proxy-acme
    environment:
      - DEFAULT_EMAIL=mail@yourdomain.tld
    volumes_from:
      - nginx-proxy
    volumes:
      - certs:/etc/nginx/certs:rw
      - acme:/etc/acme.sh
      - /var/run/docker.sock:/var/run/docker.sock:ro
    network_mode: bridge

volumes:
  conf:
  vhost:
  html:
  certs:
  acme:

Desplegar contenedores:

services:
  shaarli:
    image: ghcr.io/shaarli/shaarli:release
    container_name: shaarli.tempwin.net
    environment:
      - VIRTUAL_HOST=shaarli.tempwin.net # obligatorio para nginx-proxy
      - LETSENCRYPT_HOST=shaarli.tempwin.net # obligatorio para letsencrypt proxy
      - LETSENCRYPT_EMAIL=tempwin@gmail.com # obligatorio para letsencrypt proxy
    volumes:
      - ./cache:/var/www/shaarli/cache
      - ./data:/var/www/shaarli/data
    restart: unless-stopped

networks:
  default:
    name: alexandria
    external: true

Rifas

Texto: #fdf8dc

  • Número rifa: #f1c232
convert -pointsize 56 -font /usr/share/fonts/TTF/Roboto-Bold.ttf -annotate +830+376 "0001" -pointsize 50 -annotate -90x+1520+235 "0001" -fill "#b8a61c" rifa-navidad-santo-domingo-2023.png salida.png

Original:

Nueva:

convert -pointsize 40 -font /usr/share/fonts/TTF/Roboto-Bold.ttf -annotate +410+220 "0001" -pointsize 40 -annotate -90x+872+125 "0001" -fill "#b8a61c" entrada.png salida.png

En un script:

#!/bin/bash
cd /ruta/imagenes/rifa-navidad-santo-domingo
# Genera números secuenciales del 0001 al 2000
for i in {1..2000}
do
    numero_rifa=$(printf "%04d\n" $i)
    convert -pointsize 40 -font /usr/share/fonts/TTF/Roboto-Bold.ttf -annotate +410+220 "${numero_rifa}" -pointsize 40 -annotate -90x+872+125 "${numero_rifa}" -fill "#b8a61c" boleto-rifa-navidad-santo-domingo-original.png img/boleto_$numero_rifa.png
done

HeidiSQL

SELECT *
FROM backlog_krt_abiertas_entre_48h_168h t
WHERE t.semana = 6 
 
 
 
 
SELECT *
FROM backlog_krt t
WHERE t.marca = 'Telecable' 
 
 
-- Pruebas
SELECT *
FROM backlog_krt t
WHERE t.id = 8025788
 
;
DELETE
FROM backlog_krt_abiertas_entre_48h_168h 
WHERE semana = 52
 
DELETE
FROM backlog_krt_abiertas_menos_48h
WHERE semana = 52
 
 
-- Fin pruebas
 
 
-- Ahora (23/01/2023): 53.622
-- Antes (13/01/2023): 52.269
SELECT COUNT(*)
FROM  backlog_krt t
WHERE t.marca = 'Euskaltel'
AND t.id = 8240429
 
 
 
DELETE
FROM backlog_krt_abiertas 
WHERE semana = 52 
 
 
 
SELECT COUNT(id) AS incidencias, t.marca
FROM backlog_krt_abiertas t
WHERE semana = 52
AND DATE_FORMAT(t.fecha, '%x') = 2022
GROUP BY t.marca
 
 
 
 
SELECT -- *
COUNT(*), YEAR(t.fecha) AS ano
FROM cal t
WHERE t.descripcion LIKE '%xxx%'
GROUP BY  YEAR(t.fecha)
 
 
 
SELECT *
FROM cttcomentarios  t
WHERE t.NCTTCO = 57426969 
 
 
 
-- Total 171
-- Euskaltel:  71
-- R:				91
-- Telecable:   9
SELECT *
FROM backlog_krt_resueltas t
WHERE t.semana = 49
  AND YEAR(t.fecha) = 2022
;;  
 
-- PRO: 		47.939
-- LOCAL: 	50.828 (03/01/2023)
SELECT COUNT(*)
FROM backlog_krt 
 
 
SELECT id, semana, tipo_cliente, fecha_creacion, fecha_solucion, marca
FROM backlog_krt_abiertas
WHERE YEAR(fecha) = 2022 AND semana = 49 AND marca = 'euskaltel' AND tipo_cliente IN ('Mediana Empresa', 'Pequeña Empresa', 'Negocio') AND segmento_postventa = 'N2'
 
 
 
 
 
 
SELECT *
FROM backlog_krt_resueltas_resumen t
WHERE t.semana = 49
  AND t.ano = 2022
 
 
DELETE
FROM backlog_krt_abiertas
WHERE
    marca = 'Euskaltel'
    AND semana = 49
    AND YEAR(fecha) = 2022
 
 
 
 
SELECT * 
FROM backlog_krt_abiertas_resumen t
where t.semana = 50
 
-- Incidencias desde 2022 hasta 12/12/2022
 
-- Euskaltel: 14985
-- R: 		  27820
-- Telecable:  5134
 
-- Total: 47.939
 
 
 
SELECT AVG(horas_resolucion) AS tmr
FROM backlog_krt_resueltas t
WHERE semana = 42
AND tipo_cliente = 'Pyme'
AND marca = 'Telecable'
 
 
SELECT *
from backlog_krt_abiertas
;;
 
SELECT t.*, TIMESTAMPDIFF(HOUR, fecha_creacion, fecha_solucion) as horas_resolucion
FROM backlog_krt t
WHERE t.fecha_solucion BETWEEN '2022-09-26' AND '2022-10-02'
AND t.marca = 'Telecable'
AND t.tipo_cliente = 'Pyme'
AND DATEDIFF('2022-10-02', fecha_creacion) > 7
;;
 
SELECT *
FROM backlog_krt_resueltas t
where t.marca = 'R'
AND t.tipo_cliente = 'MEDIANA'
AND t.semana = 45
 
 
 
 
 
WHERE t.fecha_solucion >= '2022-09-26' 
AND t.fecha_solucion <= '2022-10-02'
 
 
 
 
/*
	Revisión vivos
	--------------
*/
SELECT a.fecha_consulta, a.id, a.fecha_creacion, a.fecha_solucion, a.fecha_cierre, a.tipo_cliente, a.estado, a.marca, a.dias_abierto, a.fecha_4_meses
FROM (
SELECT 
	'2022-11-06' as fecha_consulta, 
	t.*, 
	DATEDIFF('2022-11-06', fecha_creacion) AS dias_abierto,
	DATE_FORMAT(DATE_ADD(t.fecha_creacion, INTERVAL 120 DAY), '%Y-%m-%d') AS fecha_4_meses
FROM backlog_krt t
WHERE 
    DATEDIFF('2022-11-06', fecha_creacion) > 7
    /*
    AND ((DATE_FORMAT(fecha_solucion, '%Y-%m-%d') > '2022-11-06' AND fecha_solucion IS NOT NULL) 
	       OR (fecha_solucion IS NULL AND DATE_FORMAT(DATE_ADD(t.fecha_creacion, INTERVAL 120 DAY), '%Y-%m-%d') < '2022-11-06'))
	       */
    /*
    AND (
	 		(fecha_solucion IS NOT NULL AND DATE_FORMAT(fecha_solucion, '%Y-%m-%d') > '2022-11-06')
 
	 		OR (fecha_solucion IS NULL AND DATE_FORMAT(DATE_ADD(t.fecha_creacion, INTERVAL 120 DAY), '%Y-%m-%d') < '2022-11-06')
		)*/
		AND (
			(marca = 'Euskaltel' AND tipo_cliente IN ('Mediana Empresa', 'Pequeña Empresa') AND segmento_postventa = 'N2')
				OR (marca = 'Telecable' AND tipo_cliente = 'Pyme')
				OR (marca = 'R' AND tipo_cliente = 'MEDIANA')
			)
--			AND id IN (1726507, 1726511, 1734119)
 
) a
WHERE 
     -- a.fecha_solucion IS NULL 
	  (DATE_FORMAT(DATE_ADD(a.fecha_creacion, INTERVAL 120 DAY), '%Y-%m-%d') < '2022-11-06' AND a.fecha_solucion IS NULL)
	  OR (
	  			a.fecha_solucion IS NOT NULL 
				  AND DATE_FORMAT(fecha_solucion, '%Y-%m-%d') > '2022-11-06' 
				  -- AND DATE_FORMAT(DATE_ADD(a.fecha_creacion, INTERVAL 120 DAY), '%Y-%m-%d') < '2022-11-06'
				  )
;
 
-- 55913514
-- 56157363
SELECT *
FROM  backlog_krt
WHERE id IN (55913514, 56157363)
 
 
 
/*
	Tiempo Medio de Gestión (TMG)
	-----------------------------
	*/
SELECT AVG(a.horas_gestion) AS tmr
FROM (
SELECT id, semana, marca, max(horas_gestion) AS horas_gestion
FROM backlog_krt_abiertas
WHERE semana = 47 
AND marca = 'Telecable'
-- AND tipo_cliente IN ('Mediana Empresa', 'Pequeña Empresa') AND segmento_postventa = 'N2'
-- AND tipo_cliente = 'MEDIANA'
AND tipo_cliente = 'Pyme'
GROUP BY id, semana, marca
) a
 
SELECT (43*627 + 18*1056 + 7*1047) / 68
 
 
SELECT *
FROM backlog_krt_abiertas
where id  IN (1726507, 1726511, 1734119)
AND semana = 47
 
 
SELECT t.*, WEEK (t.fecha_solucion) AS semana_solucion
FROM backlog_krt_abiertas t
WHERE id = 8084836
-- where t.semana = WEEK(t.fecha_solucion)
;
 
SELECT t.*, WEEK(t.fecha_solucion, 1)
FROM backlog_krt_resueltas t
WHERE t.semana <> WEEK(t.fecha_solucion, 1)
 
 
SELECT *
FROM backlog_krt_abiertas
WHERE YEAR(fecha) = 2022 AND semana = 47
and tipo_cliente IN ('Mediana Empresa', 'Pequeña Empresa', 'Negocio') AND segmento_postventa = 'N2' 
AND marca = 'Euskaltel'
 
 
 
AND ((tipo_cliente = 'MEDIANA' AND marca = 'R')
     OR (tipo_cliente = 'Pyme' AND marca = 'Telecable') 
	  OR (tipo_cliente IN ('Mediana Empresa', 'Pequeña Empresa', 'Negocio') AND segmento_postventa = 'N2' AND marca = 'Euskaltel')
	  )
-- AND ((tipo_cliente IN ('Mediana Empresa', 'Pequeña Empresa', 'Negocio') AND segmento_postventa = 'N2') OR tipo_cliente = 'MEDIANA' OR tipo_cliente = 'Pyme')
 
 
SELECT *
FROM backlog_krt t
WHERE t.id = 7825597 
 
 
 
 
 
SELECT COUNT(t.id) AS farmacias, t.tecnologia, t.mes
FROM farmacias_historico t
WHERE t.ano = 2022
GROUP BY t.tecnologia, t.mes
 
 
 
SELECT *
FROM backlog_krt 
where fecha_solucion IS null
and DATE_FORMAT(DATE_ADD(fecha_creacion, INTERVAL 120 DAY), '%Y-%m-%d') < '2022-11-28'
 
 
SELECT *
FROM backlog_krt_abiertas
WHERE dias_abierta > 120
AND fecha_solucion IS null
 
SELECT count(id), marca
FROM backlog_krt_abiertas
GROUP BY marca 
 
 
 
SELECT *, DATE_FORMAT(DATE_ADD(fecha_creacion, INTERVAL 120 DAY), '%Y-%m-%d')
FROM backlog_krt_resueltas 
WHERE DATE_FORMAT(DATE_ADD(fecha_creacion, INTERVAL 120 DAY), '%Y-%m-%d') < '2022-10-01'
-- AND fecha_solucion IS NULL
 
 
 
SELECT AVG(a.horas_gestion) as tmg
             FROM (
                 SELECT
                      -- id as incidencias,
                      -- MAX(horas_gestion) AS horas_gestion
                       *
                  FROM backlog_krt_abiertas
                  WHERE
                      marca = 'Euskaltel'
                      AND YEAR(fecha) = 2022
                      AND semana = 41
                       -- AND horas_resolucion IS NULL
                      AND tipo_cliente IN ('Mediana Empresa', 'Pequeña Empresa', 'Negocio') AND segmento_postventa = 'N2' 
                      -- AND id NOT IN (7698998, 7720872, 7825597, 7847448, 7942282, 7947890, 8017220)
                   GROUP BY id) a
 
SELECT *
FROM backlog_krt 
WHERE DATEDIFF('2022-08-01', fecha_creacion) > 7
AND (DATE_FORMAT(fecha_solucion, '%Y-%m-%d') > '2022-08-01' OR fecha_solucion IS NULL) 
 
-- where t.fecha = '2022-08-01'
 
 
 
 
 
SELECT *
FROM backlog_krt_resueltas t
WHERE t.semana = 39
AND t.marca = 'Pyme'
 
SELECT (197+173) / 2
 
 
 
SELECT AVG(a.horas) AS tmg
FROM (
                SELECT 
					 /*id AS incidencia, 
MAX(horas_gestion) AS horas*/ *
                FROM backlog_krt_abiertas
                WHERE
                    marca = 'Euskaltel'
                    AND YEAR(fecha) = 2022
                    AND semana = 44
                    -- AND horas_resolucion IS NULL
                     AND tipo_cliente IN ('Mediana Empresa', 'Pequeña Empresa', 'Negocio') AND segmento_postventa = 'N2' 
                     GROUP BY id
                     ) a
 
 
 
 
 
 
 
 
SELECT *
FROM backlog_krt_abiertas t
WHERE  t.fecha = '2022-11-09'
AND DATE_FORMAT(t.fecha_solucion, '%Y-%m-%d') <= '2022-08-09'
 
 
            SELECT
                id,
                fecha_creacion,
                fecha_solucion,
                fecha_cierre,
                tipo_cliente,
                segmento_postventa,
                marca,
                '2022-08-01' as fecha,
                DATEDIFF('2022-08-01', fecha_creacion) as dias_abierta,
                TIMESTAMPDIFF(HOUR, fecha_creacion, DATE_FORMAT('2022-08-01', '%Y-%m-%d 00:00:00')) as horas_gestion
            FROM backlog_krt
            WHERE marca = 'Euskaltel'
              AND DATEDIFF('2022-08-01', fecha_creacion) > 7
              AND DATE_FORMAT(fecha_solucion, '%Y-%m-%d') > '2022-08-01'
 
 
 
 
 
 
 
 
 
SELECT *
FROM backlog_krt_abiertas t
 
select TIMESTAMPDIFF(HOUR, '2022-07-11 11:03:23', DATE_FORMAT('2022-08-01', '%Y-%m-%d 00:00:00'))
-- 1718084 2022-08-01
 
SELECT DATE_FORMAT('2022-01-01', '%Y-%m-%d 00:00:00')
/*
 
Tipos de cliente 
----------------
 
Euskaltel
 
* Gran cuenta: "Gran Cuenta"
* PYME: "Mediana Empresa" + "Pequeña Empresa" o Segmento Postventa = N2
 
R
 
* Gran Cuenta: GRAN CUENTA
* PYME: MEDIANA
 
Telecable
 
* Gran Cuenta: GRAN CUENTA
* PYME: MEDIANA
 
 
*/
SELECT *
FROM backlog_krt_abiertas t
WHERE t.marca = 'Telecable' 
AND t.semana = '33'
AND t.tipo_cliente = 'Pyme'
 
 
-- IMPORTANTE que hay casi 500  que aparecen
-- como Mediana Empresa y Pequeña Empresa
-- el resto, 3885 son de Pyme
SELECT COUNT(t.id) AS avisos, t.tipo_cliente
FROM backlog_krt t
WHERE t.marca = 'Telecable'
AND t.tipo_cliente NOT IN ('Gran Cliente', 'Gran Cuenta')
GROUP BY t.tipo_cliente
 
 
 
/*
Backlog exportado Vs origen
 
* K: 21.159 (21.167, 8 valores duplicados)
* R: 89.988 (90.249, 261 valores duplicados)
* T:  4.275 (4.275)
 
*/
SELECT COUNT(*), marca
FROM backlog_krt 
GROUP BY marca
;;
 
/*
	Origen
	------
 
	* Euskaltel: 280.805
	* R				8.179
	* Telecable		  620
 
	Limpieza:
	---------
 
	* Euskaltel: 136.182
	* R				8.179
	* Telecable		  620	
 
*/
SELECT *
FROM backlog_krt_abiertas t
WHERE t.fecha_solucion IS NOT NULL
OR t.fecha_cierre IS NOT NULL
;;
 
SELECT *
FROM backlog_krt_abiertas_resumen 
 
 
 
 
 
 
 
-- 115.691 registros debería haber
-- 115.422 son los que se insertan. K tiene repetidos
 
/*
ANTIGUO: Backlog exportado Vs origen
 
* K: 21.159 (21.167, 8 valores duplicados)
* R: 91.647 (91.674)
* T: 4275 (4.275)
 
*/
 
 
SELECT DISTINCT id
FROM backlog_krt_abiertas t
WHERE /*t.semana = 43*/
t.fecha BETWEEN '2022-10-24' AND '2022-10-30'
AND t.marca = 'R'
AND t.tipo_cliente = 'MEDIANA'
 
 
 
 
 
 
 
 
 
 
 
UPDATE backlog_krt_abiertas_resumen
SET tmr = null
 
 
 
SELECT AVG(a.horas_resolucion) AS tmr
FROM (
SELECT DISTINCT id,
horas_resolucion
FROM backlog_krt_abiertas t
WHERE semana = 1
AND YEAR(fecha) = 2022 
AND marca = 'Telecable'
-- Euskaltel:
-- AND tipo_cliente IN ('Mediana Empresa', 'Pequeña Empresa') AND segmento_postventa = 'N2' 
-- Telecable:
AND tipo_cliente = 'Pyme'
AND horas_resolucion IS NOT NULL
) a
-- GROUP BY t.id
 
SELECT AVG(a.horas_resolucion) AS tmr
FROM (
SELECT COUNT(DISTINCT id) AS incidencias
FROM backlog_krt_abiertas
WHERE marca = 'Euskaltel' AND YEAR(fecha) = 2022 AND semana = 39 AND horas_resolucion IS NOT NULL) a
 
 
SELECT (402+359+382+401) / 4
 
 
 
 
 
-- Eliminar los registros de Euskaltel donde no haya fecha de 
-- cierre después de 4 meses
DELETE
FROM backlog_krt_abiertas
WHERE t.marca = 'Euskaltel'
AND t.fecha_cierre IS NULL
AND DATE_ADD(t.fecha_creacion, INTERVAL 120 DAY) > '2022-09-30'
 
-- Candidatos a borrarse:
SELECT t.*,
DATE_ADD(t.fecha_creacion, INTERVAL 120 DAY) AS futuro
FROM backlog_krt_abiertas t
WHERE t.marca = 'Euskaltel'
  AND DATE_FORMAT(DATE_ADD(t.fecha_creacion, INTERVAL 120 DAY), '%Y-%m-%d') > '2022-09-25'
  AND t.fecha = '2022-09-25' --  <---- fecha consulta
  AND t.fecha_cierre IS null
 
SELECT t.*, DATE_ADD(t.fecha_creacion, INTERVAL 120 DAY)
FROM backlog_krt_abiertas t
WHERE t.marca = 'Euskaltel'
AND DATE_FORMAT(DATE_ADD(t.fecha_creacion, INTERVAL 120 DAY), '%Y-%m-%d') < '2022-10-01'
AND t.fecha = '2022-10-01' --  <---- fecha consulta
AND t.fecha_cierre IS NULL
 
;;
 
 
SELECT 
 COUNT(*)
FROM backlog_krt_abiertas t
WHERE t.marca = 'Euskaltel'
AND t.dias_abierta > 120
 -- 483.455 Antes
									 -- Tras limpieza
-- FROM backlog_krt_abiertas_copy 
 
 
SELECT t.*,
(t.horas_resolucion / 24) AS dias
FROM backlog_krt_abiertas t
where t.dias_abierta > 120
WHERE /* t.fecha = '2022-10-02' 
AND */ t.fecha_cierre IS NULL
 
 
 
SELECT *
FROM backlog_krt_abiertas_resumen t
where t.ano = 2022
and t.semana = 40
and t.tipo_cliente = 'PYME'
AND t.marca = 'R'
; 
 
SELECT 
COUNT(DISTINCT t.id) AS incidencias
FROM backlog_krt_abiertas t
WHERE t.marca = 'Euskaltel'
AND t.semana = 43 
AND t.tipo_cliente IN ('Mediana Empresa', 'Pequeña Empresa') AND t.segmento_postventa = 'N2'
 
 
 
-- Calcular horas resolucion R
UPDATE backlog_krt_abiertas
   SET horas_resolucion = TIMESTAMPDIFF(HOUR, fecha_creacion, fecha_solucion)
 WHERE marca = 'R' 
   AND fecha_solucion IS NOT NULL
;;   
   -- Calcular horas resolucion K y T
UPDATE backlog_krt_abiertas
   SET horas_resolucion = TIMESTAMPDIFF(HOUR, fecha_creacion, fecha_cierre)
 WHERE marca IN ('Euskaltel', 'Telecable')
   AND fecha_cierre IS NOT NULL
;;
 
-- Inserción en tabla resumen
INSERT INTO backlog_krt_abiertas_resumen
SELECT 
YEAR(t2.fecha) AS ano,
	t2.semana,
	case
		when t2.marca = 'Euskaltel' AND t2.segmento_postventa = 'N2' AND t2.tipo_cliente IN ('Mediana Empresa', 'Pequeña Empresa') then 'PYME'
		when t2.marca = 'Telecable' AND t2.tipo_cliente = 'Pyme' then 'PYME'
		when t2.marca = 'R' AND t2.tipo_cliente = 'MEDIANA' then 'PYME'
      when t2.marca = 'R' AND t2.tipo_cliente = 'GRAN CUENTA' then 'GGCC'
	END AS tipo_cliente_calc,
	COUNT(DISTINCT t2.id) AS incidencias,
	NULL AS horas_resolucion_promedio,
	t2.marca
FROM backlog_krt_abiertas t2
GROUP BY YEAR(t2.fecha), t2.semana, tipo_cliente_calc, t2.marca
 
)
 
SELECT avg(a.horas_cierre)
FROM (
SELECT 
DISTINCT t.id,
t.fecha_creacion,
t.fecha_solucion,
t.fecha_cierre,
TIMESTAMPDIFF(HOUR, t.fecha_creacion, t.fecha_cierre) AS horas_cierre
FROM backlog_krt_abiertas t 
WHERE t.fecha_cierre IS NOT NULL
AND t.marca IN ('Telecable', 'Euskaltel')
AND t.semana = 10
AND YEAR(t.fecha) = 2022
) a
 
SELECT (1711 + 285) / 2
 
 
 
SELECT 
count(DISTINCT t.id) AS incidencias
/*
	distinct t.id, 
	t.tipo_cliente,
	t.marca,
case 
	when t.marca = 'R' AND t.tipo_cliente = 'GRAN CUENTA' then 'GGCC'
	when t.marca = 'Euskaltel' AND t.tipo_cliente IN ('Pequeña Empresa', 'Mediana Empresa') AND t.segmento_postventa = 'N2' then 'PYME'
	when t.marca = 'Telecable' AND t.tipo_cliente = 'Pyme' then 'PYME'
	END AS tipo_cliente_calc
	*/
FROM  backlog_krt_abiertas t
WHERE t.semana = 10
AND YEAR(t.fecha) = 2022
AND t.tipo_cliente = 'MEDIANA'
AND t.marca = 'R'
;
 
 
 
/*
Backlog exportado Vs origen
 
* K: 21.159 (21.167, 8 valores duplicados)
* R: 91.647 (91.674)
* T: 4275 (4.275)
 
*/
SELECT 21167 + 91674+4275
SELECT COUNT(*), t.marca
FROM backlog_krt t
GROUP BY t.marca
;
 
-- Para K y T, es fecha cierre
-- Para R, fecha solución
SELECT t.id, t.fecha_creacion, t.fecha_solucion, t.fecha_cierre, t.tipo_cliente, t.segmento_postventa, t.marca, '2022-01-31', DATEDIFF('2022-01-31', t.fecha_creacion)
FROM  backlog_krt t
WHERE DATEDIFF('2022-01-31', t.fecha_creacion) > 7
  AND 
  (
  	DATE_FORMAT(t.fecha_cierre, '%Y-%m-%d') > '2022-01-31'
  	OR
  	t.fecha_cierre IS NULL
  	)
;;;
 
 
SELECT  DISTINCT t.id
/*, t.fecha*/
FROM backlog_krt_abiertas t
WHERE 
 t.semana = 13
-- AND YEAR(t.fecha) = 2022
-- t.fecha = '2022-03-28'
AND t.marca = 'Euskaltel'
AND t.tipo_cliente IN ('Pequeña Empresa', 'Mediana Empresa')
AND t.segmento_postventa = 'N2'
-- AND t.tipo_cliente = 'MEDIANA'
-- GROUP BY t.id
 
SELECT *
FROM backlog_krt t
WHERE t.id = 54510465 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
SELECT *
FROM ots_campo t
WHERE t.marca = 'Telecable'
; 
 
 
 
 
-- Pendientes citar R
SELECT *
FROM ots_campo t
WHERE t.marca = 'R'
AND t.fecha_actualizacion  = '2022-11-21'
AND t.agrupacion_ot = 'Alta'
AND t.estado_ot_calculado = 'PENDIENTE CONCERTACION'
AND t.tiene_pe = 'n'
-- AND t.subsegmento_canal = 'GRANDE'
-- AND t.subsegmento_canal = 'MEDIANA'
AND t.subsegmento_canal = 'PEQUEÑA'
;;
 
-- Pendientes citar Euskaltel
SELECT *
FROM ots_campo t
WHERE t.marca = 'Euskaltel'
AND t.fecha_actualizacion  = '2022-11-21'
AND t.agrupacion_ot = 'Alta'
AND t.nombre_ot <> 'Supervision Portabilidad'
AND t.estado_ot_calculado = 'PENDIENTE CONCERTACION'
AND t.tiene_pe = 'n'
AND t.subsegmento_canal = 'Gran Cuenta'
-- AND t.subsegmento_canal = 'Mediana Empresa'
-- AND t.subsegmento_canal = 'Pequeña Empresa'
;;
 
-- Pendientes citar Telecable
SELECT *
FROM ots_campo t
WHERE t.marca = 'Telecable'
AND t.fecha_actualizacion  = '2022-11-21'
AND t.agrupacion_ot = 'Alta' 
AND t.nombre_ot NOT IN ('Homologación', 'Reconfiguración Centralita', 'Configuración CCAA')
AND t.nombre_ot <> 'Supervision Portabilidad'
AND t.estado_ot_calculado = 'PENDIENTE CONCERTACION'
AND t.tiene_pe = 'n'
AND t.subsegmento_canal = 'Gran Cliente'
-- AND t.subsegmento_canal = 'Mediana Empresa'
-- AND t.subsegmento_canal = 'Pyme'
;;
 
SELECT *
FROM ots_campo t 
-- WHERE t.id_ot_voa = 36284347
where t.fecha_actualizacion = '2022-11-21'
;;
 
-- Promedio citar R
SELECT /*(COALESCE(AVG(t.tiempo_cita_ot), 0)) / 3600 / 24 AS tiempo*/
*
FROM ots_campo t
WHERE t.marca = 'R'
  AND t.fecha_actualizacion  = '2022-11-21'
  AND t.agrupacion_ot = 'Alta'
  AND t.estado_ot = 'PENDIENTE'
--  AND t.estado_ot IN ('PENDIENTE CONCERTACION', 'PENDIENTE')
  AND t.tiene_pe = 'n'
  AND t.tiene_incidencia_ot = 'n'
--  AND t.subsegmento_canal = 'GRANDE' -- Promedio citar: 3,81 días
 AND t.subsegmento_canal = 'MEDIANA'
-- AND t.subsegmento_canal = 'PEQUEÑA'
;;
 
-- Promedio citar Euskaltel
SELECT (COALESCE(AVG(t.tiempo_cita_ot), 0)) / 3600 / 24 AS tiempo
FROM ots_campo t
WHERE t.marca = 'Euskaltel'
AND t.fecha_actualizacion  = '2022-11-21'
AND t.agrupacion_ot = 'Alta'
AND t.estado_ot_calculado IN ('PENDIENTE', 'PENDIENTE CONCERTACION')
AND t.tiene_pe = 'n'
AND t.nombre_ot <> 'Supervisión Portabilidad'
AND t.subsegmento_canal = 'Gran Cuenta' -- Promedio citar: 1,79 días
-- AND t.subsegmento_canal = 'Mediana Empresa'
-- AND t.subsegmento_canal = 'Pequeña Empresa'
;;
 
-- Promedio citar Telecable
SELECT (COALESCE(AVG(t.tiempo_cita_ot), 0)) / 3600 / 24 AS tiempo
FROM ots_campo t
WHERE t.marca = 'Telecable'
AND t.fecha_actualizacion  = '2022-11-21'
AND t.agrupacion_ot = 'Alta' 
AND t.nombre_ot NOT IN ('Homologación', 'Reconfiguración Centralita', 'Configuración CCAA')
AND estado_ot_calculado IN ('PENDIENTE', 'PENDIENTE CONCERTACION')
AND t.tiene_pe = 'n'
AND t.subsegmento_canal = 'Gran Cliente' -- Promedio citar: 4,42
-- AND t.subsegmento_canal = 'Mediana Empresa'
-- AND t.subsegmento_canal = 'Pyme'
 
-- Indicadores para gráfica
SELECT AVG(valor) AS promedio_grupo
from ots_campo_altas_indicadores i
WHERE i.fecha = '2022-11-21'
-- AND i.marca = 'R'
-- AND i.indicador = 'Tiempo promedio concertación cita (sin PE)'
-- AND i.tipo_cliente = 'Grande'
AND i.tipo_cliente = 'Mediana'
-- AND i.tipo_cliente = 'Pequeña'
;
 
-- OTs pendientes
-- OTs pendientes citar
-- Indicadores para gráfica
SELECT *
from ots_campo_altas_indicadores i
WHERE i.fecha = '2022-11-21'
AND i.indicador = 'Tiempo promedio desde cita (sin PE)'
-- AND i.marca = 'R'
-- AND i.indicador = 'OTs pendiente (sin PE)' -- 12 + 17 + 3
-- AND i.indicador = 'OTs pendiente citar (sin PE)' -- 7 + 3 + 1
-- AND i.tipo_cliente = 'Grande'
AND i.tipo_cliente = 'Mediana'
-- AND i.tipo_cliente = 'Pequeña'
 
 
 
SELECT valor AS ots
            FROM ots_campo_altas_indicadores
            WHERE 
              fecha = '2022-11-07'
            AND indicador = 'OTs pendiente citar (sin PE)'
            AND tipo_cliente = 'Grande'
            AND marca = 'Euskaltel'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
             SELECT
                  e.id,
                  e.fecha,
                  e.descripcion,
                  e.id_tipo,
                  t.nombre AS tipo,
                  e.id_marca,
                  m.nombre AS marca,
                  e.id_grupo,
                  g.nombre AS grupo,
                  masiva.id_ticket AS id_masiva,
                  masiva.clientes,
                  masiva.zona_afectada,
                  masiva.fecha_inicio AS fecha_inicio_masiva,
                  masiva.fecha_fin AS fecha_fin_masiva,
                  sistema.id_sistema,
                  sistema.id_incidencia AS id_jira,
                  sistema.fecha_inicio,
                  sistema.fecha_fin
                   -- e.id_impacto,
                   -- i.nombre AS impacto
               FROM sarabia_eventos e
               INNER JOIN sarabia_eventos_tipos t ON e.id_tipo = t.id
               INNER JOIN sarabia_marcas m ON e.id_marca = m.id
               INNER JOIN sarabia_grupos g ON e.id_grupo = g.id
               LEFT JOIN sarabia_eventos_masivas masiva ON e.id = masiva.id_evento
               LEFT JOIN sarabia_eventos_sistemas sistema ON e.id = sistema.id_evento
               WHERE
                 e.id = 43
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
SELECT *
FROM ots_campo t
WHERE t.id_ot_voa = '36286178'
 
;;
 
 
 
SELECT *
FROM ots_campo_altas_indicadores t
WHERE t.fecha = '2022-11-07' 
-- AND t.indicador = 'Tiempo promedio desde cita (sin PE)'
AND t.indicador = 'Tiempo promedio concertación cita (sin PE)'
AND t.tipo_cliente = 'Grande'
 
SELECT AVG(
SELECT (1.79+3.81+4.42 ) / 3
 
SELECT ((0.75 + 2) / 3)
 
SELECT ((1.33 + 0.49 + 0) / 3)
 
 
 
SELECT t.codigo_cliente
FROM swap_cerrados t
GROUP BY t.codigo_cliente 
 
 
 
 
 
 
 
 
 
 
 
ALTER TABLE sarabia_eventos AUTO_INCREMENT=1;
 
 
 
            SELECT
                e.id,
                e.fecha,
                e.descripcion,
                e.id_tipo,
                t.nombre AS tipo,
                e.id_marca,
                m.nombre AS marca,
                e.id_grupo,
                g.nombre AS grupo,
                masiva.id_ticket AS id_masiva,
                masiva.clientes,
                masiva.zona_afectada,
                sistema.id_sistema,
                sistema.id_incidencia AS id_jira,
                sistema.fecha_inicio,
                sistema.fecha_fin
                -- e.id_impacto,
                -- i.nombre AS impacto
            FROM sarabia_eventos e
            INNER JOIN sarabia_eventos_tipos t ON e.id_tipo = t.id
            INNER JOIN sarabia_marcas m ON e.id_marca = m.id
            INNER JOIN sarabia_grupos g ON e.id_grupo = g.id
            LEFT JOIN sarabia_eventos_masivas masiva ON e.id = masiva.id_evento
            LEFT JOIN sarabia_eventos_sistemas sistema ON e.id = sistema.id_evento
            WHERE
                e.id = 38
 
 
 
 
 
 
 
 
 
 
/*
 
		QeP Tbook
 
*/
 
SELECT SUM(u.incidencias_promedio) AS esperado
FROM umbrales_servicios u
WHERE u.nombre_dia = 'Lunes'
-- AND u.hora = 10
AND u.servicio_afectado IN (
               'MOVIL',
               'TL',
               'TLMovil',
               'TLMovilMultiSIM',
               'TLMovil_Ajeno',
               'TLMovil_M2M',
               'TLMovil_M2M_Ajeno',
               'TLMovil_MultiSIMDatos'
           )
 
 
 
 
 
               SELECT
--               	t.fecha_creacion
 
                   HOUR(t.fecha_creacion) AS hora,
                   t.servicio_afectado AS servicio_afectado,
                   t.tipo_cliente AS tipo_cliente,
                   COUNT(t.id_ticket) AS total
 
               FROM incidencias_historico t
                WHERE DATE_FORMAT(t.fecha_creacion, '%Y-%m-%d') IN ( '2022-10-24', '2022-10-17', '2022-10-10')
/*
               WHERE DATE_FORMAT(t.fecha_creacion, '%Y-%m-%d') IN (
                                                                   SELECT fecha
                                                                   FROM calendario c
                                                                 WHERE c.ano >= 2021
                                                                     AND c.ano <= 2022
                                                                     AND c.nombre_dia = 'Lunes'
                                                                )
*/                                  
 
 
                GROUP BY HOUR(t.fecha_creacion),
                         t.servicio_afectado,
                         t.tipo_cliente
 
 
 
 
 
 
 
 
/*
 
 
			CGC
 
 
 
*/
          SELECT *
           FROM cttcomentarios a
           LEFT JOIN cttticketcomenta b
             ON a.NCTTCO = b.NCTTO
           WHERE a.Codigodecliente IN (
                                       SELECT ID
                                       FROM cgr
                                       WHERE Matriz LIKE 203933592
                                   )
           GROUP BY a.NCTTCO
          -- Descartamos los CTT que no interesan o son erróneos porque comparten
          -- código de cliente o alguna chapuza/fallo humano que hayan hecho:
          HAVING a.NCTTCO NOT IN (
                                      SELECT id_ctt
                                      FROM ctt_ignorados
                                  )
			ORDER BY a.FHApertura desc
 
 
          order by a.EstadoIncidencia,
                   a.NCTTCO DESC
 
 
           SELECT *
           FROM cttcierre a
           LEFT JOIN cttticketcomenta b
             ON a.NCTT = b.NCTTO
          WHERE a.Codigodecliente IN (
                                       SELECT ID
                                       FROM cgr
                                       WHERE Matriz LIKE 203933592
                                   )
             AND (
                       FHCierre >='2022-10-18 00:00' and FHCierre <= '2022-10-26 00:00:00'
                   )
             AND a.NCTT NOT IN (
                               select NCTT
                              from cgr_cttinfo
                          )
          GROUP BY a.NCTT
          -- Descartamos los CTT que no interesan o son erróneos porque comparten
          -- código de cliente o alguna chapuza/fallo humano que hayan hecho:
          HAVING a.NCTT NOT IN (
                                      SELECT id_ctt
                                     FROM ctt_ignorados
                                  )
          ORDER BY NCTT DESC
 
 
 
 
 
 
 
 
 
 
 
 
 
 
SELECT 
 (coalesce(avg(t.tiempo_cita_instalacion_ot), 0)/ 3600/24) AS tiempo
FROM ots_campo t
WHERE t.fecha_actualizacion = '2022-10-10'
AND t.subsegmento_canal IN ('Gran Cuenta', 'GRANDE')
AND t.agrupacion_ot = 'Alta'
AND t.estado_ot_calculado = 'PENDIENTE'
AND t.marca = 'Euskaltel'
/*
	Euskaltel: 2.265226571268 * 10= 22,6522657127
	R: 13.241304720962 * 18       = 238,3434849773
	Telecable: 0.000000000000 * 1 = 0
*/
 
;;
 
-- Promedio desde concertación a instalación
SELECT valor
FROM ots_campo_altas_indicadores t
WHERE t.indicador = 'Tiempo promedio desde cita (sin PE)'
AND t.marca = 'Telecable'
AND t.tipo_cliente = 'Grande'
AND t.fecha = '2022-10-10'
;;
-- OTs pendiente por marca
SELECT t.valor
FROM  ots_campo_altas_indicadores t
WHERE t.indicador = 'OTs pendiente (sin PE)'
AND t.marca = 'Euskaltel'
AND t.tipo_cliente = 'Grande'
AND t.fecha = '2022-10-10'
;;
 
-- OTs pendiente total
SELECT SUM(t.valor) AS ots
FROM  ots_campo_altas_indicadores t
WHERE t.indicador = 'OTs pendiente (sin PE)'
-- AND t.marca = 'Euskaltel'
AND t.tipo_cliente = 'Grande'
AND t.fecha = '2022-10-10'
;;
 
 
SELECT *
FROM ots_campo_altas_indicadores
WHERE 
 fecha = '2022-07-25' AND indicador = 'OTs pendiente (sin PE)' AND tipo_cliente = 'Grande' AND marca = 'Euskaltel'
 
 
 
 
 
 
 
 
 
 
 
SELECT (2.265226571268*10 + 13.241304720962*18 + 0*1) / 29
 
;
SELECT SUM(valor) AS pendientes
FROM ots_campo_altas_indicadores t
WHERE t.indicador = 'OTs pendiente (sin PE)'
-- AND t.marca = 'Telecable'
AND t.fecha = '2022-10-10'
AND t.tipo_cliente = 'Grande'
 
 
 
 
 
 
SELECT *
FROM ots_campo_altas_indicadores t
WHERE t.fecha = '2022-10-17' 
AND t.tipo_cliente = 'Grande'
AND t.marca = 'R'
;;
;;
 
SELECT 
-- ((coalesce(AVG(t.tiempo_cita_ot),0)) / 3600) / 24
t.fecha_actualizacion,
t.fecha_creacion,
t.fecha_concertacion_cita,
(t.tiempo_cita_ot) / 3600
FROM ots_campo t
WHERE t.fecha_actualizacion = '2022-10-17'
AND t.marca = 'R'
AND t.estado_ot IN ('PENDIENTE', 'PENDIENTE CONCERTACION')
AND t.agrupacion_ot = 'Alta'
AND t.tiene_incidencia_ot = 'n'
AND t.tiene_pe = 'n'
AND t.subsegmento_canal = 'GRANDE'
AND t.identificativo_peticion = '1-1AMRIK0'
;
-- Alex: 5,4
-- Yo: 3,59
 
 
 
 
 
 
 
 
SELECT 
*
--                sede
            FROM pharmdash_incidencias
            WHERE
               cumplimiento_resolucion = 'Fuera de plazo'
               AND impacto = 'Corte'
               AND YEAR(fecha_apertura) >= 2022 AND MONTH(fecha_apertura) = 8
               AND sede REGEXP '^CO|^LU|^OU|^PO'
--            GROUP BY sede
 
 
 
 
 
 
-- Farmacias en UCI por incumplimiento resolución
SELECT t.sede
FROM pharmdash_incidencias t
WHERE YEAR(t.fecha_apertura) = 2022
AND MONTH(t.fecha_apertura) = 09
-- Está en UCI:
AND t.cumplimiento_resolucion = 'Fuera de Plazo'
AND t.impacto = 'Corte'
GROUP BY t.sede
 
-- Farmacias en UCI por exceso de averías
SELECT t.sede, COUNT(t.id_ticket) AS averias
FROM pharmdash_incidencias t
WHERE YEAR(t.fecha_apertura) = 2022
  AND MONTH(t.fecha_apertura) = 09
-- Está en UCI:
GROUP BY t.sede
HAVING COUNT(t.id_ticket) > 3
 
 
 
 
 
 
 
 
SELECT 
	ROUND(UNIX_TIMESTAMP(CONCAT(DATE_FORMAT(fecha_apertura, '%Y-%m'), '-01')) * 1000) AS fecha_apertura, 
	COUNT(id) AS incidencias
FROM pharmdash_incidencias  
WHERE tipo_producto = 'DAT' 
AND infantil = 1
AND YEAR(fecha_apertura) >= 2022
GROUP BY 
	UNIX_TIMESTAMP(CONCAT(DATE_FORMAT(fecha_apertura, '%Y-%m'), '-01')) * 1000
 
SELECT t.tecnologia, COUNT(*)
FROM pharmdash_incidencias t
GROUP BY t.tecnologia
 
 
 
SELECT COUNT(t.id), t.responsabilidad
FROM pharmdash_incidencias t 
WHERE t.tipo_producto = 'DAT'
AND YEAR(t.fecha_apertura) = 2022
GROUP BY t.responsabilidad
 
 
 
 
 
 
-- Promedio citar Euskaltel
SELECT 
((AVG(t.tiempo_cita_ot) / 3600) / 24) AS tiempo_aporta_cita
-- t.identificativo_peticion, 
-- ((t.tiempo_cita_ot / 3600) / 25) AS dias_cita
FROM ots_campo t
WHERE t.fecha_actualizacion = '2022-10-05' 
AND t.marca = 'Euskaltel'
AND t.estado_ot_calculado IN ('PENDIENTE CONCERTACION', 'PENDIENTE')
AND t.nombre_ot <> 'Supervisión Portabilidad'
AND t.tiene_pe = 'n'
AND t.subsegmento_canal = 'Gran Cuenta'
AND t.agrupacion_ot = 'Alta'
 
-- Promedio citar R
SELECT 
*
-- ((AVG(t.tiempo_cita_ot) / 3600) / 24) AS tiempo_aporta_cita
-- t.identificativo_peticion, 
-- ((t.tiempo_cita_ot / 3600) / 25) AS dias_cita
FROM ots_campo t
WHERE t.fecha_actualizacion = '2022-10-05' 
AND t.marca = 'R'
AND t.estado_ot IN ('PENDIENTE CONCERTACION', 'PENDIENTE')
AND t.tiene_pe = 'n'
AND t.subsegmento_canal = 'GRANDE'
AND t.agrupacion_ot = 'Alta'
AND t.tiene_incidencia_ot = 'n'
 
 
 
 
SELECT *
FROM ots_campo_altas_indicadores 
WHERE fecha = '2022-10-05' 
  AND indicador = 'Tiempo promedio concertación cita (sin PE)' 
  AND tipo_cliente = 'Grande' 
  AND marca = 'Euskaltel'
 
 
SELECT SUM(valor) AS pendientes
FROM  ots_campo_altas_indicadores
WHERE fecha = '2022-10-05'
AND indicador IN ('OTs pendiente citar (SIN PE)', 'OTs pendiente (sin PE)')
AND marca = 'Telecable'
AND tipo_cliente = 'Grande'
 
 
 
 
 
SELECT *
FROM ots_campo_altas_indicadores t
WHERE t.fecha = '2022-10-04' 
 
 
 
 
 
SELECT COALESCE(AVG(t.tiempo_cita_ot), 0) AS tiempo
FROM ots_campo t
WHERE t.fecha_actualizacion = '2022-10-04' 
AND t.subsegmento_canal = 'GRANDE'
AND t.marca = 'R'
;;
 
SELECT (4171840.9042 / 3600) / 24
 
SELECT t.subsegmento_canal
FROM  ots_campo t
GROUP BY t.subsegmento_canal
 
 
 
 
 
-- 8.520
-- 8.683
SELECT COUNT(*)
FROM minifric_servicios 
 
 
 
SELECT *
FROM swap_cerrados t
INNER JOIN swap_incidencias_r r ON t.codigo_cliente = r.codigo_cliente
WHERE t.marca = 'R' 
 
 
 
 
 
 
SELECT t.fecha_actualizacion
FROM ots_campo t
GROUP BY t.fecha_actualizacion 
;
 
 
SELECT SUM(t.valor) AS ots
FROM ots_campo_altas_indicadores t
WHERE t.indicador = 'OTs pendiente citar (sin PE)'
 
; 
 
 
 
 
 
 
 
SELECT SUM(t.cantidad * t.precio) AS total
FROM tickets_productos t
WHERE t.ticket_id = 662
;;
 
 
 
 
 
 
 
 
 
;
 
SELECT *
FROM ots_campo t 
WHERE t.marca = 'R'
 
 
2022-08-31 19:22:53 - 2022-09-07 09:50 -- 4,5981018519
 
 
 
SELECT fecha
            FROM calendario_festivos
            WHERE fecha BETWEEN 2022-04-20 AND 2022-09-02
 
 
 
SELECT COUNT(t.referencia) AS ots,
t.subsegmento_canal
FROM ots_campo t
WHERE t.fecha_actualizacion = '2022-09-01' 
AND t.marca = 'Euskaltel'
AND t.agrupacion_ot = 'Alta'
AND t.nombre_ot <> 'Supervisión Portabilidad'
AND t.estado_ot_calculado = 'PENDIENTE CONCERTACION'
AND t.tiene_pe = 'n'
AND t.subsegmento_canal = 'Gran Cuenta'
-- GROUP BY t.subsegmento_canal; 
 
/*
	--------------------------
	Análisis Backlog Euskaltel
	--------------------------
 
	Indicadores
 
*/
-- OTs con INCIDENCIA
SELECT COUNT(t.referencia) AS ots,
t.subsegmento_canal
FROM ots_campo t
WHERE t.fecha_actualizacion = '2022-09-01' 
AND t.marca = 'Euskaltel'
AND t.agrupacion_ot = 'Alta'
AND t.nombre_ot <> 'Supervisión Portabilidad'
AND t.estado_ot_calculado = 'INCIDENCIA'
GROUP BY t.subsegmento_canal;
 
-- OTs pendientes
SELECT COUNT(t.referencia) AS ots,
t.subsegmento_canal
FROM ots_campo t
WHERE t.fecha_actualizacion = '2022-09-01' 
AND t.marca = 'Euskaltel'
AND t.agrupacion_ot = 'Alta'
AND t.nombre_ot <> 'Supervisión Portabilidad'
AND t.estado_ot_calculado = 'PENDIENTE'
GROUP BY t.subsegmento_canal;
 
-- OTs pendientes de concertación cita
SELECT COUNT(t.referencia) AS ots,
t.subsegmento_canal
FROM ots_campo t
WHERE t.fecha_actualizacion = '2022-09-01' 
AND t.marca = 'Euskaltel'
AND t.agrupacion_ot = 'Alta'
AND t.nombre_ot <> 'Supervisión Portabilidad'
AND t.estado_ot_calculado = 'PENDIENTE CONCERTACION'
GROUP BY t.subsegmento_canal; 
 
-- Tiempo de cita
SELECT COUNT(t.referencia) AS ots,
t.subsegmento_canal
FROM ots_campo t
WHERE t.fecha_actualizacion = '2022-09-01' 
AND t.marca = 'Euskaltel'
AND t.agrupacion_ot = 'Alta'
AND t.nombre_ot <> 'Supervisión Portabilidad'
AND t.estado_ot_calculado IN ('PENDIENTE', 'PENDIENTE CONCERTACION')
AND t.tiene_pe = 'n'
AND t.subsegmento_canal = 'Gran Cuenta'
 
 
SELECT SUM(t.cantidad*t.precio) AS total
FROM tickets_productos t
WHERE t.ticket_id = 673
 
 
/*
400832934 - BANKINTER GLOBAL SERVICES
400057128 - BANKINTER
*/
 
SELECT *
FROM ctttbook t
WHERE t.CODIGODECLIENTE IN (400832934, 400057128)
ORDER BY t.FHAPERTURA desc
;;
 
 
 
 
 
SELECT 
*
FROM oc_bruteforce_attempts t
 
 
 
 
SELECT *
FROM  ctttbook t
WHERE t.NCTT = 56338945
 
 
 
 
 
 
SELECT DATE_FORMAT(t.fecha_creacion, '%Y-%m-%d')
FROM avisos_historico t
WHERE YEAR(t.fecha_creacion) = 2022
AND MONTH(t.fecha_creacion) = 7
GROUP BY DATE_FORMAT(t.fecha_creacion, '%Y-%m-%d')
 
 
 
 
 
 
 
 
 
 
      SELECT ROUND(UNIX_TIMESTAMP(CONCAT(DATE_FORMAT(a.FHAPERTURA, '%Y-%m'), '-01')) * 1000) as fecha_apertura,
             YEAR(a.FHAPERTURA) as ano_apertura,
             MONTH(a.FHAPERTURA) as mes_apertura,
             COUNT(a.NCTT) as numero_ctt
      FROM ctttbook a
       WHERE a.CODIGODECLIENTE IN (
               101402053, -- COF Coruña
               400084027, -- COF Lugo
               400084264, -- COF Ourense
              203958277  -- COF Pontevedra
             )
         AND YEAR(a.FHAPERTURA) >= 2020
         AND a.ESTADOCTT = 'CERRADO'
   --      AND a.ORIGEN IN ('CLIENTE', 'VIGILANCIA')
       GROUP BY UNIX_TIMESTAMP(CONCAT(DATE_FORMAT(a.FHAPERTURA, '%Y-%m'), '-01')) * 1000
 
 
 
 
 
 
-- Antes: 48.269
-- Ahora: 48.569
 
SELECT COUNT(t.id_proceso) AS procesos
FROM procesos_finalizados t 
 
 
SELECT *
FROM servicios_afectados_master
-- WHERE mostrar = 's' 
 
 
 
 
 
 
 
 
 
 
 
-- Provisión KRT
SELECT 
  COUNT(id_proceso) AS procesos, 
  semana_fecha_finalizacion 
FROM 
  procesos_finalizados 
WHERE 
  YEAR(fecha_finalizacion) = 2022 
  AND semana_fecha_finalizacion IN (20, 21, 22, 23, 24, 25, 26, 27) 
  AND subsegmento_canal IN ('PEQUEÑA', 'Pequeña Empresa', 'Pyme')
  AND resumen = 'Alta DIRECTO Sin Portabilidad' 
  AND (
    mayor_95_dias = 0 
    OR mayor_95_dias IS NULL
  ) 
  AND (
    proyecto_implantacion IS NULL 
    OR proyecto_implantacion = 'Sin PE'
  ) 
  AND producto_catalogo_origen IS NULL 
  AND (
    nombre_esquema NOT IN (
      'Cambio de Domicilio Cliente', 'Cambio Equipo', 
      'Cambio Modalidad Internet', 'Cambio Domicilio Migracion Acceso Direct'
    ) 
    OR nombre_esquema IS NULL
  ) 
GROUP BY 
  semana_fecha_finalizacion 
ORDER BY 
  1 DESC 
LIMIT 
  1
 
 
 
 
 
 
 
 
 
 
 
SELECT *
FROM procesos_finalizados  t
WHERE YEAR(t.fecha_finalizacion) = 2022
AND t.semana_fecha_finalizacion IN (
20, 21, 22, 23, 24, 25, 26, 27
)
AND t.resumen = 'Alta DIRECTO Sin Portabilidad'
-- AND t.subsegmento_canal IN ('GRANDE', 'Gran Cuenta', 'Gran Cliente')
-- AND t.subsegmento_canal IN ('MEDIANA', 'Mediana Empresa')
AND t.subsegmento_canal IN ('PEQUEÑA', 'Pequeña Empresa', 'Pyme')
/*
'Alta DIRECTO Con Portabilidad',
'Alta INDIRECTO Sin Portabilidad',
'Alta INDIRECTO Con Portabilidad'
*/
  AND (mayor_95_dias = 0 OR mayor_95_dias IS NULL)
  AND proyecto_implantacion = 'PE22-0337'
  AND producto_catalogo_origen IS NULL
  AND (nombre_esquema NOT IN (
          'Cambio de Domicilio Cliente',
          'Cambio Equipo',
          'Cambio Modalidad Internet',
          'Cambio Domicilio Migracion Acceso Direct'
         )
       OR nombre_esquema IS NULL
	)
 
GROUP BY t.semana_fecha_finalizacion
ORDER BY 1 DESC
LIMIT 1;
 
 
 
 
 
 
 
 
 
 
;                   
 
-- Tareas Kanboard                   
SELECT 
    t.id, 
    t.title, 
    t.description, 
    FROM_UNIXTIME(t.date_creation) AS fecha_creacion, 
    FROM_UNIXTIME(t.date_started) AS fecha_inicio, 
    FROM_UNIXTIME(t.date_completed) AS fecha_fin,
    p.name as proyecto
FROM tasks t
INNER JOIN projects p
    ON t.project_id = p.id
WHERE DATE_FORMAT(FROM_UNIXTIME(t.date_completed), '%Y-%m') = '2022-06';;
 
/*
Postventa: 14 + 5 = 19 (39 %)
Provision: 0 + 1 = 1 (0,02 %)
Roberto / SAT: 12 + 17 = 29 (59 %)
*/
 
 
SELECT *
FROM tasks t
WHERE t.id = 1185
;
escusabaraja.1716486293.txt.gz · Última modificación: por tempwin