Files
bakery-ia/services/notification/app/templates/equipment_failure_email.html

165 lines
5.7 KiB
HTML
Raw Normal View History

2026-01-11 17:03:46 +01:00
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>🚨 URGENTE: Fallo de Equipo - {{ equipment_name }}</title>
<style>
body {
font-family: 'Arial', 'Helvetica', sans-serif;
line-height: 1.6;
color: #333;
margin: 0;
padding: 0;
}
.container {
max-width: 600px;
margin: 20px auto;
padding: 20px;
border: 1px solid #ddd;
border-radius: 8px;
background-color: #fff;
}
.header {
background-color: #dc2626;
color: white;
padding: 15px;
border-radius: 8px 8px 0 0;
text-align: center;
}
.content {
padding: 20px;
}
.equipment-info {
background-color: #f8f9fa;
padding: 15px;
border-radius: 6px;
margin: 20px 0;
}
.equipment-info dt {
font-weight: bold;
margin-bottom: 5px;
}
.equipment-info dd {
margin-left: 0;
margin-bottom: 10px;
}
.failure-details {
background-color: #fef2f2;
border: 1px solid #fecaca;
padding: 15px;
border-radius: 6px;
margin: 20px 0;
}
.action-button {
display: inline-block;
background-color: #dc2626;
color: white;
padding: 10px 20px;
text-decoration: none;
border-radius: 6px;
font-weight: bold;
margin: 10px 0;
}
.support-contact {
background-color: #f0f9ff;
padding: 15px;
border-radius: 6px;
margin: 20px 0;
}
.footer {
text-align: center;
margin-top: 20px;
color: #666;
font-size: 12px;
}
</style>
</head>
<body>
<div class="container">
<div class="header">
<h1>🚨 URGENTE: Fallo de Equipo</h1>
<p>Acción Inmediata Requerida</p>
</div>
<div class="content">
<p>Estimado Equipo de Soporte,</p>
<p>Se ha reportado un fallo en el equipo <strong>{{ equipment_name }}</strong> en {{ equipment_location }}. Esto requiere su atención inmediata.</p>
<div class="equipment-info">
<h2>Información del Equipo</h2>
<dl>
<dt>Nombre del Equipo:</dt>
<dd>{{ equipment_name }}</dd>
<dt>Tipo:</dt>
<dd>{{ equipment_type }}</dd>
<dt>Modelo:</dt>
<dd>{{ equipment_model }}</dd>
<dt>Número de Serie:</dt>
<dd>{{ equipment_serial_number }}</dd>
<dt>Ubicación:</dt>
<dd>{{ equipment_location }}</dd>
</dl>
</div>
<div class="failure-details">
<h2>Detalles del Fallo</h2>
<dl>
<dt>Tipo de Fallo:</dt>
<dd>{{ failure_type }}</dd>
<dt>Gravedad:</dt>
<dd><strong style="color: {{ 'red' if severity == 'urgent' else 'orange' }};">{{ severity.upper() }}</strong></dd>
<dt>Descripción:</dt>
<dd>{{ description }}</dd>
<dt>Fecha/Hora Reportado:</dt>
<dd>{{ reported_time }}</dd>
<dt>Impacto Estimado:</dt>
<dd>{{ 'SÍ - Afecta producción' if estimated_impact else 'NO - Sin impacto en producción' }}</dd>
</dl>
</div>
<p>Este equipo ha sido marcado automáticamente como <strong>FUERA DE SERVICIO</strong> y retirado de producción para evitar más problemas.</p>
<div class="support-contact">
<h2>Información de Contacto de Soporte</h2>
{% if support_contact.email %}
<p><strong>Email:</strong> {{ support_contact.email }}</p>
{% endif %}
{% if support_contact.phone %}
<p><strong>Teléfono:</strong> {{ support_contact.phone }}</p>
{% endif %}
{% if support_contact.company %}
<p><strong>Empresa:</strong> {{ support_contact.company }}</p>
{% endif %}
{% if support_contact.contract_number %}
<p><strong>Número de Contrato:</strong> {{ support_contact.contract_number }}</p>
{% endif %}
{% if support_contact.response_time_sla %}
<p><strong>Tiempo de Respuesta Esperado:</strong> {{ support_contact.response_time_sla }} horas</p>
{% endif %}
</div>
<p><a href="{{ equipment_link }}" class="action-button">Ver Detalles del Equipo</a></p>
<p>Por favor responda dentro del plazo de SLA y actualice el sistema cuando la reparación esté completada.</p>
<p>Gracias,<br>
Equipo de {{ bakery_name }}</p>
</div>
<div class="footer">
<p>Esta es una notificación automática del Sistema de Monitoreo de Equipos de {{ bakery_name }}</p>
<p>© {{ current_year }} {{ bakery_name }}. Todos los derechos reservados.</p>
</div>
</div>
</body>
</html>