¡Esta es una revisión vieja del documento!
Tabla de Contenidos
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):
- 70mai - 60 €: sin pantalla, con app.
- 70mai pro - 100 €: con pantalla y app (se puede girar hacia el interior del vehículo??).
- iZEEKER GD100: https://www.amazon.es/dp/B09J578JYH/ - 50 €: con pantalla. Review
- Viofo A119 v3: https://www.amazon.es/dp/B07RXQLV5C/ - 120 €. Cámara muy recomendable, pero no puede enfocar hacia el interior del coche)
Kit para cablear a la batería del coche:
- https://www.amazon.es/dp/B0791BHYBW/ - 17,99 €
- https://www.amazon.es/dp/B093PCMCNW/ - 19,99 €
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 | Sí | Sí | No | 400 cd/m2 | Sí | 404,99 € |
| Dell | S2721DS | Sí | Sí | No | Sí | 279,99 € | |
| Asus | VG27AQ | Sí | Sí | No | 350 cd/m2 | Sí | 349 € |
| LG | 27GN800 | Sí | Sí | No | 350 cd/m2 | Sí | 323,9 € |
| LG | 27GP850 | Sí | Sí | No | 400 cd/m2 | Sí | 400,37 € |
| BenQ | EX2780Q | Sí | Sí | No | 350 cd/m2 | Sí | 379 € |
| Lenovo | Q27h | Sí | Sí | Sí | 350 cd/m2 | Sí | 399 € |
Daniela y Mia
Docker nginx-proxy
Dos contenedores:
- https://github.com/nginx-proxy/nginx-proxy (proxy inverso)
- https://github.com/nginx-proxy/acme-companion (solicitud y renovación de certificados SSL)
- Tener instalado Docker Compose V2 (
docker composeen lugar dedocker-compose) - Crear carpeta para este proyecto
- Crear red por defecto para que use el proxy y lo que se quiera levantar
docker create network skynet
- 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:
- Tipografía: Josefin Sans
- Tamaño: 8,5 x 2,8 pulgadas (21,59 x 7,112 cm)
Nueva:
- Tipografía:
- Josefin Sans Light
- Tamaño impresión: 15×5 cm
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 ;
