hbox-docs/docs/formularios/prueba-sitio.html

123 lines
8.4 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="es">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Prueba en sitio — HBOX</title>
<script src="../js/tema.js"></script>
<link rel="stylesheet" href="acta.css">
<style>
details.como{background:var(--hg-plano);border:1px solid var(--hg-linea);border-radius:10px;padding:8px 14px;margin:0 0 12px;font-size:14px;color:var(--hg-texto)}
details.como summary{cursor:pointer;font-weight:700}
details.como ol{margin:8px 0 4px;padding-left:20px} details.como li{margin:3px 0}
</style>
</head>
<body>
<div id="acta"></div>
<script src="flota.js"></script>
<script src="series.js"></script>
<script src="acta.js"></script>
<script>
/* Prueba en sitio (22-oct-2026): el paso que faltaba después de instalar. Una unidad cuenta para la
meta del sitio (1–2 unidades) solo con esta acta aprobada. La lee el tablero de Instalaciones
(GET /api/instalaciones, backend/instalaciones.py). Tipo repetible: cada prueba es un registro. */
const conFix = v => String(v.gga || '').startsWith('4');
const conPos = v => /^[45]/.test(String(v.gga || ''));
const conBat = v => String(v.bateria || '').startsWith('Sí');
const usaWia = v => !String(v.wialon || '').startsWith('No aplica');
Acta.render({
tipo: 'prueba-sitio',
repetible: true,
tecnicoDesdeUsuario: true,
nombres: { alan: 'Alán Basurto', daniel: 'Daniel Martínez', leo: 'Leo Rodríguez' },
unidades: window.SERIES,
etiquetaSerie: 'Unidad HBOX que se prueba',
titulo: 'Prueba en sitio',
subtitulo: 'Después de instalar, una por unidad. Se llena en la máquina con alguien viendo el monitor.',
textoOK: 'APROBADA EN SITIO',
intro: '<details class="como" open><summary>Cómo se llena</summary><ol>'
+ '<li>Va <b>después del acta de instalación</b>, con la máquina encendida y la antena en su lugar definitivo.</li>'
+ '<li>Elige el <b>sitio</b> y la <b>unidad</b>. Anota el número económico del vehículo y el <b>nombre de la unidad en el monitor</b> (H00xx): así la busca quien ve el monitor.</li>'
+ '<li>Alguien con acceso abre el monitor de Helgen (y Wialon, si el sitio lo usa) y te dice lo que ve. Marca cada punto <b>después</b> de verlo.</li>'
+ '<li>Fix: <b>4 = RTK FIX</b>, lo esperado. <b>5 = RTK FLOAT</b>, solo si en 15 min no llega a 4 y explicas por qué (cielo tapado, antena). 1, 2 o 0 no se aprueba.</li>'
+ '<li>Si la unidad lleva batería, prueba el respaldo: con permiso del operador, apaga la máquina y confirma que sigue reportando.</li>'
+ '<li>Resultado <b>APROBADA EN SITIO</b> solo si reporta en el monitor con fix 4 (o 5 explicado) y la posición coincide con el vehículo. Si no, FALLA y explica qué faltó; se repite con otra acta.</li>'
+ '<li>Solo una prueba aprobada cuenta para la meta del sitio. Se ve en el <a href="/tableros/instalaciones/">tablero de Instalaciones</a>.</li>'
+ '</ol></details>',
secciones: [
{ titulo: '0 · Unidad y vehículo',
items: [
{ tipo:'fecha', clave:'fecha', req:true, guardaEn:'fecha', txt:'Fecha de la prueba' },
{ tipo:'sitio', clave:'sitio', req:true, guardaEn:'sitio', txt:'Sitio (puerto o terminal)',
ayuda:'Si el sitio no está en la lista, elige «Otro» y escríbelo en observaciones; Leo lo da de alta.' },
{ tipo:'texto', clave:'maquina_id', req:true, guardaEn:'maquina_id', rows:'1', txt:'Número económico del vehículo o equipo (como lo nombra el puerto)', ph:'FL-JUN-060 · RT-ZPMC-20 · HS-WES-62' },
{ tipo:'radio', clave:'tipo_vehiculo', req:true, guardaEn:'clasificacion', txt:'Tipo de vehículo o equipo',
opciones:['RTG','Reach Stacker','Empty Handler','Tractoplana','Montacargas','Grúa','Camión / pick-up','Equipo fijo','Otro'] },
{ tipo:'texto', clave:'id_monitor', req:true, guardaEn:'id_monitor', rows:'1', txt:'Nombre de la unidad en el monitor (H00xx)', ph:'H0013' },
{ tipo:'texto', clave:'quien_ve', req:true, rows:'1', txt:'Quién ve el monitor y Wialon, y desde dónde', ph:'Leo, desde Querétaro, por teléfono' },
] },
{ titulo: '1 · Fix RTK en el monitor',
sub:'Lo que dice el monitor de Helgen para esta unidad (calidad de la posición GGA).',
items: [
{ tipo:'radio', clave:'gga', req:true, txt:'Calidad del fix en el monitor',
opciones:['4 — RTK FIX','5 — RTK FLOAT (explica por qué no llega a 4)','1 o 2 — GPS sin RTK','0 — sin posición o no aparece'],
aviso:'4 es lo esperado. 5 se acepta solo si en 15 minutos no llega a 4 y lo explicas en observaciones.' },
{ tipo:'medida', clave:'t_fix', si:conFix, txt:'Minutos desde que encendió hasta el FIX', esperado:'< 10 min con cielo libre', u:'min' },
{ tipo:'medida', clave:'sats', si:conPos, txt:'Satélites en uso', esperado:'≥ 10', u:'sat' },
{ tipo:'medida', clave:'edad_corr', si:conPos, txt:'Edad de las correcciones, si el monitor la muestra', esperado:'< 5 s', u:'s' },
] },
{ titulo: '2 · Reporte en el monitor y en Wialon',
items: [
{ tipo:'radio', clave:'monitor', req:true, txt:'Reporta en el monitor de Helgen',
opciones:['Sí — posiciones nuevas cada pocos segundos','Sí, con huecos o retraso (explica)','No reporta'] },
{ tipo:'radio', clave:'wialon', req:true, txt:'Reporta en Wialon',
opciones:['Sí — aparece con su vehículo','Sí, pero con otro nombre o vehículo (explica)','No reporta','No aplica — este sitio no usa Wialon'] },
{ tipo:'texto', clave:'hora_monitor', req:true, rows:'1', txt:'Hora en que se vio el último reporte', ph:'11:42' },
] },
{ titulo: '3 · Posición coherente',
items: [
{ tipo:'radio', clave:'posicion', req:true, txt:'La posición en el mapa coincide con dónde está el vehículo',
opciones:['Sí — en su lugar del patio, sin saltos','Con saltos o desplazada (explica cuánto)','No coincide'] },
{ tipo:'radio', clave:'movimiento', txt:'Al mover el vehículo, la traza sigue el recorrido',
opciones:['Sí','Con saltos o cortes (explica)','No se pudo mover el vehículo'] },
{ tipo:'radio', clave:'legado', si:usaWia, txt:'Contra el GPS que ya tenía el vehículo (CalAmp u otro), en Wialon',
opciones:['Coinciden; el RTK más fino','Difieren (explica cuánto)','El vehículo no tiene otro GPS'] },
] },
{ titulo: '4 · Respaldo en batería (si aplica)',
items: [
{ tipo:'radio', clave:'bateria', req:true, txt:'La unidad lleva batería de respaldo',
opciones:['Sí','No — sin batería'] },
{ tipo:'nota', si:conBat, txt:'Solo con permiso del operador: apaga la máquina (o quita la llave) y mira el monitor 5 minutos. Al terminar, enciéndela y confirma que la unidad sigue reportando.' },
{ tipo:'radio', clave:'respaldo', si:conBat, req:true, txt:'Con la máquina apagada, la unidad sigue reportando',
opciones:['Sí — 5 minutos o más','Se corta antes de 5 minutos (explica)','No reporta en batería','No se pudo apagar la máquina'] },
{ tipo:'check', clave:'regreso', si:conBat, txt:'Al volver a encender la máquina, la unidad sigue reportando.' },
] },
{ titulo: '5 · Fotos',
items: [
{ tipo:'foto', clave:'f_monitor', req:true, etiqueta:'monitor', txt:'Pantalla del monitor con la unidad y su fix (foto o captura).' },
{ tipo:'foto', clave:'f_wialon', si:usaWia, etiqueta:'wialon', txt:'Pantalla de Wialon con la unidad.' },
{ tipo:'foto', clave:'f_vehiculo', req:true, etiqueta:'vehiculo', txt:'El vehículo con su número económico a la vista.' },
{ tipo:'archivo', clave:'log', etiqueta:'prueba-sitio', txt:'Captura de consola (opcional)' },
] },
{ titulo: '6 · Cierre',
items: [
{ tipo:'radio', clave:'accion', req:true, guardaEn:'accion', txt:'Cómo quedó',
opciones:['Aprobada — queda en operación','Aprobada con observaciones (explica)','No aprobada — hay que volver (explica)'],
aviso:'Solo una prueba aprobada cuenta para la meta del sitio. Si no se aprobó, marca FALLA abajo: la unidad aparece en «Con falla» en el tablero de Instalaciones.' },
{ tipo:'check', clave:'operador_informado', txt:'Operador o supervisor informado del resultado y de a quién llamar si deja de reportar.' },
{ tipo:'texto', clave:'observaciones', rows:'3', txt:'Observaciones (qué faltó, qué se vio raro, FLOAT explicado)' },
] },
]
});
</script>
</body>
</html>