Enhance order and delivery synchronization for better status accuracy

Fetch all orders and deliveries to enable client-side synchronization, specifically improving the handling of orders with delivered items but incorrect statuses, and adding detailed logging for order analysis.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: a8a78c07-e900-425c-a577-5b4c5894379d
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/a8a78c07-e900-425c-a577-5b4c5894379d/KuIk8gU
This commit is contained in:
michaelschal committed 2025-08-11 20:40:52 +00:00
1 parent d2e546c1bd
commit 4422a561c7
2 files changed
+32 -3

No files matched your search

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

+32 -3
View File
@@ -149,23 +149,52 @@ export default function Calendar() {
try {
console.log('🔄 Starting manual sync of order-delivery status...');
// Solution temporaire : récupérer les données et faire la sync côté client
// Solution temporaire : récupérer TOUTES les données et faire la sync côté client
const ordersResponse = await fetch('/api/orders', { credentials: 'include' });
const allOrders = await ordersResponse.json();
console.log('📊 Orders loaded for sync:', allOrders.length);
// Récupérer aussi toutes les livraisons pour avoir une vue complète
const deliveriesResponse = await fetch('/api/deliveries', { credentials: 'include' });
const allDeliveries = await deliveriesResponse.json();
console.log('📊 Data loaded for sync:', {
orders: allOrders.length,
deliveries: allDeliveries.length,
deliveredDeliveries: allDeliveries.filter(d => d.status === 'delivered').length
});
// Chercher spécifiquement CMD-55
const cmd55 = allOrders.find(o => o.id === 55);
if (cmd55) {
console.log('🎯 CMD-55 Details:', {
id: cmd55.id,
status: cmd55.status,
deliveries: cmd55.deliveries?.length || 0,
deliveryDetails: cmd55.deliveries || []
});
} else {
console.log('❌ CMD-55 not found in current orders');
}
let problematicOrders = 0;
let fixedOrders = 0;
// Parcourir les commandes et identifier celles à corriger
for (const order of allOrders) {
console.log(`🔍 Analyzing order #CMD-${order.id}:`, {
status: order.status,
deliveries: order.deliveries?.length || 0,
deliveryStatuses: order.deliveries?.map(d => ({ id: d.id, status: d.status, deliveredDate: d.deliveredDate })) || []
});
if (order.deliveries && order.deliveries.length > 0) {
const hasDeliveredDeliveries = order.deliveries.some(d => d.status === 'delivered');
if (hasDeliveredDeliveries && order.status !== 'delivered') {
problematicOrders++;
console.log(`🔍 Found problematic order: #CMD-${order.id} (status: ${order.status}) with delivered deliveries`);
console.log(`🔍 Found problematic order: #CMD-${order.id} (status: ${order.status}) with delivered deliveries:`,
order.deliveries.filter(d => d.status === 'delivered').map(d => `#LIV-${d.id}`)
);
try {
// Corriger la commande via l'API PUT existante