- Ajout sous-header total net à payer sur page virements-salaires - Migration transfer_done_at pour tracking précis des virements - Nouvelle page saisie tableau pour création factures en masse - APIs bulk pour mise à jour dates signature et jours technicien - API demande mandat SEPA avec email template - Webhook DocuSeal pour signature contrats (mode TEST) - Composants modaux détails et vérification PDF fiches de paie - Upload/suppression/remplacement PDFs dans PayslipsGrid - Amélioration affichage colonnes et filtres grilles contrats/paies - Template email mandat SEPA avec sous-texte CTA - APIs bulk facturation (création, update statut/date paiement) - API clients sans facture pour période donnée - Corrections calculs dates et montants avec auto-remplissage
27 lines
1.2 KiB
SQL
27 lines
1.2 KiB
SQL
-- Migration: Ajouter la colonne transfer_done_at à la table payslips
|
|
-- Date: 2025-11-02
|
|
-- Description: Cette colonne permet de tracer la date exacte où un virement a été marqué comme effectué
|
|
|
|
-- Ajouter la colonne transfer_done_at
|
|
ALTER TABLE payslips
|
|
ADD COLUMN IF NOT EXISTS transfer_done_at TIMESTAMPTZ;
|
|
|
|
-- Commentaire sur la colonne
|
|
COMMENT ON COLUMN payslips.transfer_done_at IS
|
|
'Date et heure où le virement a été marqué comme effectué (transfer_done = true). NULL si non encore viré.';
|
|
|
|
-- Mettre à jour les enregistrements existants où transfer_done = true
|
|
-- On utilise updated_at comme valeur par défaut pour les anciens enregistrements
|
|
UPDATE payslips
|
|
SET transfer_done_at = updated_at
|
|
WHERE transfer_done = true AND transfer_done_at IS NULL;
|
|
|
|
-- Index pour optimiser les requêtes sur les virements récents
|
|
CREATE INDEX IF NOT EXISTS idx_payslips_transfer_done_at
|
|
ON payslips(transfer_done_at)
|
|
WHERE transfer_done_at IS NOT NULL;
|
|
|
|
-- Index composite pour les requêtes filtrées par organisation
|
|
CREATE INDEX IF NOT EXISTS idx_payslips_org_transfer_done_at
|
|
ON payslips(organization_id, transfer_done_at)
|
|
WHERE transfer_done_at IS NOT NULL;
|