Add quality control process for supplier deliveries

Introduce a new 'requires_control' flag for suppliers, enabling a quality control workflow for deliveries. This includes UI updates, database schema changes, and API endpoints to manage and track control validation.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 1e4433b5-47ab-464c-b663-fea2e53367dd
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/1e4433b5-47ab-464c-b663-fea2e53367dd/e7P7sOc
This commit is contained in:
michaelschal committed 2025-09-30 08:22:02 +00:00
1 parent b643ea5fa8
commit a2ab38a412
7 files changed
+97 -6

No files matched your search

+6 -3
View File
@@ -82,6 +82,7 @@ export const suppliers = pgTable("suppliers", {
createdAt: timestamp("created_at").defaultNow(),
updatedAt: timestamp("updated_at").defaultNow(),
automaticReconciliation: boolean("automatic_reconciliation").default(false), // Rapprochement automatique BL/Factures
requiresControl: boolean("requires_control").default(false), // Fournisseur nécessite un contrôle à la livraison
});
// Orders
@@ -118,6 +119,10 @@ export const deliveries = pgTable("deliveries", {
invoiceAmount: decimal("invoice_amount", { precision: 10, scale: 2 }), // Montant facture
reconciled: boolean("reconciled").default(false), // Rapprochement effectué
validatedAt: timestamp("validated_at"), // Date de validation de la livraison
// Champs pour le contrôle des livraisons (fournisseurs nécessitant un contrôle)
controlValidated: boolean("control_validated").default(false), // Contrôle effectué
controlValidatedBy: varchar("control_validated_by"), // Utilisateur ayant validé le contrôle
controlValidatedAt: timestamp("control_validated_at"), // Date de validation du contrôle
createdBy: varchar("created_by").notNull(),
createdAt: timestamp("created_at").defaultNow(),
updatedAt: timestamp("updated_at").defaultNow(),
@@ -553,9 +558,7 @@ export const insertPublicitySchema = createInsertSchema(publicities).omit({
updatedAt: true,
});
export const insertPublicityParticipationSchema = createInsertSchema(publicityParticipations).omit({
createdAt: true,
});
export const insertPublicityParticipationSchema = createInsertSchema(publicityParticipations);