espace-paie-odentas/migrations/add_transfer_done_at_to_payslips.sql
odentas 897af4b23a feat: Ajout fonctionnalités virements, facturation, signatures et emails
- 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
2025-11-02 23:26:19 +01:00

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;