CREATE TABLE IF NOT EXISTS numerotations (
    id INT AUTO_INCREMENT PRIMARY KEY,
    type_document VARCHAR(50) NOT NULL UNIQUE,
    libelle VARCHAR(100) NOT NULL,
    prefixe VARCHAR(20) NOT NULL,
    longueur_compteur INT NOT NULL DEFAULT 6,
    remise_zero_annuelle TINYINT(1) NOT NULL DEFAULT 1,
    actif TINYINT(1) NOT NULL DEFAULT 1,
    date_creation DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
    date_modification DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
        ON UPDATE CURRENT_TIMESTAMP
);

INSERT INTO numerotations (
    type_document,
    libelle,
    prefixe,
    longueur_compteur,
    remise_zero_annuelle,
    actif
)
SELECT 'DEVIS', 'Devis', 'DV', 6, 1, 1
WHERE NOT EXISTS (
    SELECT 1 FROM numerotations WHERE type_document = 'DEVIS'
);

INSERT INTO numerotations (
    type_document,
    libelle,
    prefixe,
    longueur_compteur,
    remise_zero_annuelle,
    actif
)
SELECT 'BON_LIVRAISON', 'Bon de livraison', 'BL', 6, 1, 1
WHERE NOT EXISTS (
    SELECT 1 FROM numerotations WHERE type_document = 'BON_LIVRAISON'
);

INSERT INTO numerotations (
    type_document,
    libelle,
    prefixe,
    longueur_compteur,
    remise_zero_annuelle,
    actif
)
SELECT 'FACTURE', 'Facture', 'FA', 6, 1, 1
WHERE NOT EXISTS (
    SELECT 1 FROM numerotations WHERE type_document = 'FACTURE'
);

INSERT INTO numerotations (
    type_document,
    libelle,
    prefixe,
    longueur_compteur,
    remise_zero_annuelle,
    actif
)
SELECT 'AVOIR', 'Avoir', 'AV', 6, 1, 1
WHERE NOT EXISTS (
    SELECT 1 FROM numerotations WHERE type_document = 'AVOIR'
);

INSERT INTO numerotations (
    type_document,
    libelle,
    prefixe,
    longueur_compteur,
    remise_zero_annuelle,
    actif
)
SELECT 'COMMANDE_FOURNISSEUR', 'Commande fournisseur', 'CF', 6, 1, 1
WHERE NOT EXISTS (
    SELECT 1 FROM numerotations WHERE type_document = 'COMMANDE_FOURNISSEUR'
);