mirror of
https://github.com/R0m1k3/LogiFlow.git
synced 2026-10-22 06:28:19 +02:00
Merge pull request #110 from R0m1k3/1.1
Fix order status incorrectly showing as delivered in production
This commit is contained in:
3 files changed
+43
-1
No files matched your search
Binary file not shown.
|
After Width: | Height: | Size: 24 KiB |
@@ -19,6 +19,14 @@ La plateforme fournit une gestion robuste des flux de travail de livraison avec
|
|||||||
|
|
||||||
## Recent Changes
|
## Recent Changes
|
||||||
|
|
||||||
|
### 2025-08-13 - Correction statut commande lors liaison avec livraison (PRODUCTION)
|
||||||
|
✅ **Problème production PostgreSQL résolu** :
|
||||||
|
- **Problème** : Commandes passaient à "delivered" au lieu de "planned" lors liaison avec livraison
|
||||||
|
- **Cause** : Méthode createDelivery() dans DatabaseStorage (PostgreSQL) manquait logique status
|
||||||
|
- **Solution** : Ajout logique complète dans createDelivery() production identique à développement
|
||||||
|
- **Correction** : Commandes liées passent maintenant à "planned" (jaune) et non "delivered"
|
||||||
|
- **Test** : Synchronisation automatique uniquement lors validation, pas création
|
||||||
|
|
||||||
### 2025-08-13 - Interface épurée + redirection automatique + réorganisation navigation
|
### 2025-08-13 - Interface épurée + redirection automatique + réorganisation navigation
|
||||||
✅ **Redirection automatique vers authentification** :
|
✅ **Redirection automatique vers authentification** :
|
||||||
- RouterProduction redirige immédiatement si utilisateur non connecté
|
- RouterProduction redirige immédiatement si utilisateur non connecté
|
||||||
|
|||||||
+35
-1
@@ -591,7 +591,41 @@ export class DatabaseStorage implements IStorage {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async createDelivery(deliveryData: InsertDelivery): Promise<Delivery> {
|
async createDelivery(deliveryData: InsertDelivery): Promise<Delivery> {
|
||||||
const [delivery] = await db.insert(deliveries).values(deliveryData).returning();
|
// Créer la livraison avec statut "planned" par défaut
|
||||||
|
const deliveryDataWithStatus = {
|
||||||
|
...deliveryData,
|
||||||
|
status: deliveryData.status || 'planned' // Force planned status by default
|
||||||
|
};
|
||||||
|
|
||||||
|
const [delivery] = await db.insert(deliveries).values(deliveryDataWithStatus).returning();
|
||||||
|
|
||||||
|
// Si une commande est liée, la marquer comme "planned" (pas delivered!)
|
||||||
|
if (deliveryData.orderId) {
|
||||||
|
try {
|
||||||
|
console.log(`🔗 PRODUCTION: Delivery #${delivery.id} linked to order #${deliveryData.orderId}, updating order status to 'planned'`);
|
||||||
|
|
||||||
|
// Récupérer la commande actuelle
|
||||||
|
const [currentOrder] = await db
|
||||||
|
.select()
|
||||||
|
.from(orders)
|
||||||
|
.where(eq(orders.id, deliveryData.orderId));
|
||||||
|
|
||||||
|
if (currentOrder && currentOrder.status === 'pending') {
|
||||||
|
await db
|
||||||
|
.update(orders)
|
||||||
|
.set({
|
||||||
|
status: 'planned',
|
||||||
|
updatedAt: new Date()
|
||||||
|
})
|
||||||
|
.where(eq(orders.id, deliveryData.orderId));
|
||||||
|
|
||||||
|
console.log(`✅ PRODUCTION: Order #${deliveryData.orderId} status updated to 'planned'`);
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error(`❌ PRODUCTION: Failed to update order #${deliveryData.orderId} status to planned:`, error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return delivery;
|
return delivery;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user