mirror of
https://github.com/R0m1k3/LogiFlow.git
synced 2026-10-16 11:46:21 +02:00
Fix calendar errors and improve order delivery status handling
Adds TypeScript type annotations to the calendar component and refactors the order update logic to use fetch directly, improving robustness and addressing production errors. 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:
1 parent
58f65dc086
commit
687a1b41d4
3 files changed
+148
-13
No files matched your search
@@ -160,8 +160,8 @@ export default function Calendar() {
|
||||
const allDeliveries = await deliveriesResponse.json();
|
||||
|
||||
// Enrichir les commandes avec leurs livraisons pour avoir les bonnes relations
|
||||
const enrichedOrders = filteredOrders.map(order => {
|
||||
const orderDeliveries = allDeliveries.filter(delivery => delivery.orderId === order.id);
|
||||
const enrichedOrders = filteredOrders.map((order: any) => {
|
||||
const orderDeliveries = allDeliveries.filter((delivery: any) => delivery.orderId === order.id);
|
||||
return {
|
||||
...order,
|
||||
deliveries: orderDeliveries
|
||||
@@ -172,18 +172,18 @@ export default function Calendar() {
|
||||
filteredOrders: filteredOrders.length,
|
||||
enrichedOrders: enrichedOrders.length,
|
||||
allDeliveries: allDeliveries.length,
|
||||
deliveredDeliveries: allDeliveries.filter(d => d.status === 'delivered').length
|
||||
deliveredDeliveries: allDeliveries.filter((d: any) => d.status === 'delivered').length
|
||||
});
|
||||
|
||||
// Chercher spécifiquement CMD-55
|
||||
const cmd55 = enrichedOrders.find(o => o.id === 55);
|
||||
const cmd55Deliveries = allDeliveries.filter(d => d.orderId === 55);
|
||||
const cmd55 = enrichedOrders.find((o: any) => o.id === 55);
|
||||
const cmd55Deliveries = allDeliveries.filter((d: any) => d.orderId === 55);
|
||||
|
||||
console.log('🎯 CMD-55 Analysis:', {
|
||||
foundInOrders: !!cmd55,
|
||||
cmd55Status: cmd55?.status || 'NOT_FOUND',
|
||||
cmd55Deliveries: cmd55Deliveries.length,
|
||||
deliveryStatuses: cmd55Deliveries.map(d => ({
|
||||
deliveryStatuses: cmd55Deliveries.map((d: any) => ({
|
||||
id: d.id,
|
||||
status: d.status,
|
||||
deliveredDate: d.deliveredDate,
|
||||
@@ -199,26 +199,31 @@ export default function Calendar() {
|
||||
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 })) || []
|
||||
deliveryStatuses: order.deliveries?.map((d: any) => ({ 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');
|
||||
const hasDeliveredDeliveries = order.deliveries.some((d: any) => d.status === 'delivered');
|
||||
|
||||
if (hasDeliveredDeliveries && order.status !== 'delivered') {
|
||||
problematicOrders++;
|
||||
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}`)
|
||||
order.deliveries.filter((d: any) => d.status === 'delivered').map((d: any) => `#LIV-${d.id}`)
|
||||
);
|
||||
|
||||
try {
|
||||
// Corriger la commande via l'API PUT existante
|
||||
await apiRequest({
|
||||
url: `/api/orders/${order.id}`,
|
||||
// Corriger la commande via fetch direct
|
||||
const response = await fetch(`/api/orders/${order.id}`, {
|
||||
method: 'PUT',
|
||||
data: { status: 'delivered' }
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
credentials: 'include',
|
||||
body: JSON.stringify({ status: 'delivered' })
|
||||
});
|
||||
|
||||
if (!response.ok) {
|
||||
throw new Error(`HTTP ${response.status}: ${await response.text()}`);
|
||||
}
|
||||
|
||||
fixedOrders++;
|
||||
console.log(`✅ Fixed order #CMD-${order.id} status to 'delivered'`);
|
||||
} catch (error) {
|
||||
|
||||
Reference in new issue
Block a user