-- ============================================
-- Migration 0013: Simplification module Atelier
-- Date: 2026-01-28
-- ============================================
-- Ajouter les champs necessaires pour :
-- 1. Lien direct id_equipement sur Interventions
-- 2. Gestion du temps cumule avec pause/reprise
-- 3. Demarrage automatique du compteur a l'attribution
-- ============================================

IF OBJECT_ID('Interventions', 'U') IS NOT NULL
BEGIN
    -- 1. Ajouter id_equipement pour lien direct (sans passer par Reparations)
    IF NOT EXISTS (
        SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS
        WHERE TABLE_NAME = 'Interventions' AND COLUMN_NAME = 'id_equipement'
    )
    BEGIN
        ALTER TABLE Interventions ADD id_equipement VARCHAR(50) NULL;
        PRINT 'Colonne id_equipement ajoutee a la table Interventions';
    END
    ELSE
    BEGIN
        PRINT 'Colonne id_equipement existe deja dans la table Interventions';
    END

    -- 2. Temps cumule en minutes
    IF NOT EXISTS (
        SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS
        WHERE TABLE_NAME = 'Interventions' AND COLUMN_NAME = 'temps_cumule_minutes'
    )
    BEGIN
        ALTER TABLE Interventions ADD temps_cumule_minutes INT NOT NULL DEFAULT 0;
        PRINT 'Colonne temps_cumule_minutes ajoutee a la table Interventions';
    END
    ELSE
    BEGIN
        PRINT 'Colonne temps_cumule_minutes existe deja dans la table Interventions';
    END

    -- 3. Indicateur chrono actif
    IF NOT EXISTS (
        SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS
        WHERE TABLE_NAME = 'Interventions' AND COLUMN_NAME = 'chrono_actif'
    )
    BEGIN
        ALTER TABLE Interventions ADD chrono_actif BIT NOT NULL DEFAULT 0;
        PRINT 'Colonne chrono_actif ajoutee a la table Interventions';
    END
    ELSE
    BEGIN
        PRINT 'Colonne chrono_actif existe deja dans la table Interventions';
    END

    -- 4. Timestamp derniere reprise
    IF NOT EXISTS (
        SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS
        WHERE TABLE_NAME = 'Interventions' AND COLUMN_NAME = 'derniere_reprise'
    )
    BEGIN
        ALTER TABLE Interventions ADD derniere_reprise DATETIME2 NULL;
        PRINT 'Colonne derniere_reprise ajoutee a la table Interventions';
    END
    ELSE
    BEGIN
        PRINT 'Colonne derniere_reprise existe deja dans la table Interventions';
    END

    -- 5. Indicateur en pause
    IF NOT EXISTS (
        SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS
        WHERE TABLE_NAME = 'Interventions' AND COLUMN_NAME = 'en_pause'
    )
    BEGIN
        ALTER TABLE Interventions ADD en_pause BIT NOT NULL DEFAULT 0;
        PRINT 'Colonne en_pause ajoutee a la table Interventions';
    END
    ELSE
    BEGIN
        PRINT 'Colonne en_pause existe deja dans la table Interventions';
    END

    -- 6. Raison de la pause
    IF NOT EXISTS (
        SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS
        WHERE TABLE_NAME = 'Interventions' AND COLUMN_NAME = 'raison_pause'
    )
    BEGIN
        ALTER TABLE Interventions ADD raison_pause NVARCHAR(255) NULL;
        PRINT 'Colonne raison_pause ajoutee a la table Interventions';
    END
    ELSE
    BEGIN
        PRINT 'Colonne raison_pause existe deja dans la table Interventions';
    END

    -- 7. Historique des pauses (JSON)
    IF NOT EXISTS (
        SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS
        WHERE TABLE_NAME = 'Interventions' AND COLUMN_NAME = 'historique_pauses'
    )
    BEGIN
        ALTER TABLE Interventions ADD historique_pauses NVARCHAR(MAX) NULL;
        PRINT 'Colonne historique_pauses ajoutee a la table Interventions';
    END
    ELSE
    BEGIN
        PRINT 'Colonne historique_pauses existe deja dans la table Interventions';
    END
END
ELSE
BEGIN
    PRINT 'Table Interventions non trouvee - migration ignoree';
END
