mirror of
https://github.com/R0m1k3/LogiFlow.git
synced 2026-10-11 17:27:31 +02:00
Add functionality to manage and track customer credit notes
Introduces the "Avoirs" feature, including database schema, API endpoints for CRUD operations, and frontend components for viewing and managing credit notes. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 9fcf4b21-eb0c-4e53-a567-e2ce4a6ad869 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/9fcf4b21-eb0c-4e53-a567-e2ce4a6ad869/0C3uBiZ
This commit is contained in:
1 parent
e75fa65945
commit
f3565df01f
6 files changed
+1069
-3
No files matched your search
@@ -0,0 +1,50 @@
|
||||
-- Script de création de la table avoirs pour la production
|
||||
-- Exécuter ce script sur votre serveur PostgreSQL privé
|
||||
|
||||
CREATE TABLE IF NOT EXISTS avoirs (
|
||||
id SERIAL PRIMARY KEY,
|
||||
supplier_id INTEGER NOT NULL REFERENCES suppliers(id) ON DELETE CASCADE,
|
||||
group_id INTEGER NOT NULL REFERENCES groups(id) ON DELETE CASCADE,
|
||||
invoice_reference VARCHAR(255) NOT NULL,
|
||||
amount DECIMAL(10,2) NOT NULL,
|
||||
comment TEXT,
|
||||
commercial_processed BOOLEAN DEFAULT FALSE,
|
||||
status VARCHAR(50) DEFAULT 'En attente de demande' CHECK (status IN ('En attente de demande', 'Demandé', 'Reçu')),
|
||||
webhook_sent BOOLEAN DEFAULT FALSE,
|
||||
nocodb_verified BOOLEAN DEFAULT FALSE,
|
||||
nocodb_verified_at TIMESTAMP,
|
||||
processed_at TIMESTAMP,
|
||||
created_by VARCHAR(255) NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
-- Index pour améliorer les performances
|
||||
CREATE INDEX IF NOT EXISTS idx_avoirs_supplier_id ON avoirs(supplier_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_avoirs_group_id ON avoirs(group_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_avoirs_created_by ON avoirs(created_by);
|
||||
CREATE INDEX IF NOT EXISTS idx_avoirs_status ON avoirs(status);
|
||||
CREATE INDEX IF NOT EXISTS idx_avoirs_created_at ON avoirs(created_at DESC);
|
||||
|
||||
-- Trigger pour mettre à jour automatically updated_at
|
||||
CREATE OR REPLACE FUNCTION update_avoirs_updated_at()
|
||||
RETURNS TRIGGER AS $$
|
||||
BEGIN
|
||||
NEW.updated_at = CURRENT_TIMESTAMP;
|
||||
RETURN NEW;
|
||||
END;
|
||||
$$ language 'plpgsql';
|
||||
|
||||
DROP TRIGGER IF EXISTS update_avoirs_updated_at_trigger ON avoirs;
|
||||
CREATE TRIGGER update_avoirs_updated_at_trigger
|
||||
BEFORE UPDATE ON avoirs
|
||||
FOR EACH ROW
|
||||
EXECUTE FUNCTION update_avoirs_updated_at();
|
||||
|
||||
-- Commentaires pour documenter la table
|
||||
COMMENT ON TABLE avoirs IS 'Table pour gérer les avoirs (credit notes/refunds) avec webhook et vérification NocoDB';
|
||||
COMMENT ON COLUMN avoirs.invoice_reference IS 'Référence de la facture pour laquelle l''avoir est demandé';
|
||||
COMMENT ON COLUMN avoirs.amount IS 'Montant de l''avoir en euros';
|
||||
COMMENT ON COLUMN avoirs.commercial_processed IS 'Indique si l''avoir a été traité par le commercial';
|
||||
COMMENT ON COLUMN avoirs.webhook_sent IS 'Indique si le webhook a été envoyé avec succès';
|
||||
COMMENT ON COLUMN avoirs.nocodb_verified IS 'Indique si l''avoir a été vérifié dans NocoDB';
|
||||
Reference in new issue
Block a user