{% extends "base.html" %} {% block title %}{{ equipment.name }} — GMAO Collège{% endblock %} {% block content %}

{{ equipment.name }} {% if equipment.code %}({{ equipment.code }}){% endif %}

{% if equipment.status != 'jete' %} Modifier Nouvelle intervention {% if equipment.status != 'a_jeter' %}
{% endif %} {% endif %}
{% if equipment.status == 'a_jeter' %}
Cet équipement est marqué comme à jeter.
{% elif equipment.status == 'jete' %}
Cet équipement a été mis au rebut. Il n'est plus visible dans les listings normaux mais son historique reste consultable.
{% endif %} {% if equipment.needs_deep_work %}
Alerte récurrence : Cet équipement a {{ equipment.curative_count }} interventions curatives. Des travaux profonds sont recommandés.
{% endif %}
Informations
{# Affichage pour un groupe #} {% if equipment.is_group %} {% elif equipment.is_individual %} {% if equipment.position %} {% endif %} {% endif %} {% if equipment.install_date %}{% endif %} {% if equipment.warranty_end %}{% endif %} {% if equipment.parent %}{% endif %}
Statut{{ equipment.status|format_status }}
TypeGroupe ({{ equipment.quantity }} unités déclarées)
Suivi individuel {% if equipment.tracked_individually %} Obligatoire {% else %} Optionnel {% endif %}
Éléments {{ equipment.children_count }} actifs / {{ equipment.total_children }} dans le groupe {% if equipment.total_children < equipment.quantity %} ({{ equipment.quantity }} déclarés initialement) {% endif %}
Type Élément individuel {% if equipment.individual_number %} n°{{ equipment.individual_number }} {% endif %}
Groupe parent {{ equipment.parent.name }} ({{ equipment.parent.quantity }} unités)
Position{{ equipment.position }}
Catégorie{{ equipment.category.name if equipment.category else '—' }}
Localisation {{ equipment.effective_room.building.name if equipment.effective_room and equipment.effective_room.building else '' }} {% if equipment.effective_room %} > {{ equipment.effective_room.name }}{% endif %} {% if equipment.position %}
{{ equipment.position }}{% endif %}
Installation{{ equipment.install_date|date_fmt }}
Garantie{{ equipment.warranty_end|date_fmt }}
Groupe parent{{ equipment.parent.name }}
{# Boutons d'action pour les groupes #} {% if equipment.is_group and equipment.status not in ['a_jeter', 'jete'] %}
Actions de groupe
{% if not equipment.tracked_individually %} Individualiser un élément
{% endif %} Ajouter des éléments
Intervention sur le groupe
{% endif %} {# Boutons d'action pour les éléments individuels #} {% if equipment.is_individual and equipment.status not in ['a_jeter', 'jete'] %} {% endif %}
{% if equipment.description %}
Description
{{ equipment.description }}
{% endif %} {# Résumé des statuts pour les groupes avec suivi individuel #} {% if equipment.is_group and equipment.tracked_individually %}
Résumé des statuts
{% set stats = equipment.get_status_summary() %}
{% if stats.get('en_service', 0) > 0 %} En service : {{ stats.get('en_service', 0) }} {% endif %} {% if stats.get('en_maintenance', 0) > 0 %} En maintenance : {{ stats.get('en_maintenance', 0) }} {% endif %} {% if stats.get('hors_service', 0) > 0 %} Hors service : {{ stats.get('hors_service', 0) }} {% endif %} {% if stats.get('a_jeter', 0) > 0 %} À jeter : {{ stats.get('a_jeter', 0) }} {% endif %} {% if stats.get('jete', 0) > 0 %} Jetés : {{ stats.get('jete', 0) }} {% endif %}
{% endif %}
{# Liste des enfants pour les groupes avec suivi individuel #} {% if equipment.is_group and equipment.children.count() > 0 %}
Éléments du groupe ({{ equipment.children.count() }}) {% if equipment.children.count() < equipment.quantity and not equipment.tracked_individually %} {% endif %}
{% for child in equipment.children|sort(attribute='individual_number') %} {% endfor %}
Code Position Statut Interventions Actions
{{ child.individual_number }} {{ child.code or '—' }} {{ child.position or '—' }} {{ child.status|format_status }} {{ child.interventions.count() }} {% if child.has_active_curative %} En cours {% endif %}
{% endif %}
Historique des déplacements
{% if equipment.room_history %} {% for h in equipment.room_history %} {% endfor %}
DateAncienne salleNouvelle sallePar
{{ h.changed_at|date_fmt }} {{ h.old_room.name if h.old_room else '—' }} {{ h.new_room.name if h.new_room else '—' }} {{ h.changed_by.full_name if h.changed_by else '—' }}
{% else %}

Aucun déplacement enregistré.

{% endif %}
Historique des interventions Voir tout
{% if interventions %}
{% for interv in interventions %} {% endfor %}
#TitreTypeStatutDate
#{{ interv.id }} {{ interv.title }} {% if interv.type == 'curatif' %}Curatif{% else %}Préventif{% endif %} {{ interv.status|format_status }} {{ interv.requested_at|date_fmt }}
{% else %}

Aucune intervention enregistrée pour cet équipement.

{% endif %}
Documents ({{ equipment.documents.count() }})
{% if equipment.documents.all() %}
{% for doc in equipment.documents %} {% endfor %}
FichierDescriptionDateActions
{% set ext = doc.filename|lower %} {{ doc.filename }} {{ doc.description or '—' }} {{ doc.uploaded_at.strftime('%d/%m/%Y %H:%M') if doc.uploaded_at else '—' }}
{% else %}

Aucun document attaché.

{% endif %}
{% for doc in equipment.documents %} {% endfor %} {% endblock %}