-- Migration 0067: Stocker les taux de calcul par ligne de profil
-- Permet d'avoir des taux différents par profil (superviseur ≠ chef d'équipe)

IF EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'chiffrage_lignes_profils')
   AND NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'chiffrage_lignes_profils' AND COLUMN_NAME = 'taux_remplacant')
BEGIN
    EXEC('
        ALTER TABLE chiffrage_lignes_profils ADD
            taux_remplacant NUMERIC(18,6) NOT NULL DEFAULT 0,
            taux_conges NUMERIC(18,6) NOT NULL DEFAULT 0,
            taux_feries NUMERIC(18,6) NOT NULL DEFAULT 0,
            taux_cnss NUMERIC(18,6) NOT NULL DEFAULT 0,
            taux_amo NUMERIC(18,6) NOT NULL DEFAULT 0,
            taux_at NUMERIC(18,6) NOT NULL DEFAULT 0,
            taux_rc NUMERIC(18,6) NOT NULL DEFAULT 0,
            taux_ipe NUMERIC(18,6) NOT NULL DEFAULT 0
    ');

    -- Initialiser les lignes existantes avec les valeurs du paramétrage (0 si absent)
    EXEC('
        UPDATE chiffrage_lignes_profils SET
            taux_remplacant = ISNULL((SELECT valeur FROM chiffrage_parametres WHERE code = ''TAUX_REMPLACANT''), 0),
            taux_conges = ISNULL((SELECT valeur FROM chiffrage_parametres WHERE code = ''TAUX_CONGES''), 0),
            taux_feries = ISNULL((SELECT valeur FROM chiffrage_parametres WHERE code = ''TAUX_FERIES''), 0),
            taux_cnss = ISNULL((SELECT valeur FROM chiffrage_parametres WHERE code = ''CNSS_PATRONALE''), 0),
            taux_amo = ISNULL((SELECT valeur FROM chiffrage_parametres WHERE code = ''AMO_PATRONALE''), 0),
            taux_at = ISNULL((SELECT valeur FROM chiffrage_parametres WHERE code = ''ASSURANCE_AT''), 0),
            taux_rc = ISNULL((SELECT valeur FROM chiffrage_parametres WHERE code = ''ASSURANCE_RC''), 0),
            taux_ipe = ISNULL((SELECT valeur FROM chiffrage_parametres WHERE code = ''IPE''), 0)
    ');

    PRINT 'Colonnes taux ajoutees a chiffrage_lignes_profils et initialisees';
END
