Files
LogiFlow/fix-cmd-55-immediate.sql
T
michaelschal 58f65dc086 Fix order status display and add immediate production correction guidance
Add a markdown document detailing an urgent fix for order CMD-55 not appearing correctly in the calendar, providing SQL and API solutions, along with verification steps. Also includes extensive logs related to user group querying and API calls for order and delivery data.

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
2025-08-11 20:53:04 +00:00

63 lines
1.8 KiB
SQL

-- Script de correction immédiate pour CMD-55 et autres commandes similaires
-- À exécuter directement sur votre base de données de production
-- 1. Identifier CMD-55 et son statut actuel
SELECT
o.id as order_id,
o.status as current_order_status,
COUNT(d.id) as total_deliveries,
COUNT(CASE WHEN d.status = 'delivered' THEN 1 END) as delivered_deliveries,
string_agg(d.status, ', ') as delivery_statuses
FROM orders o
LEFT JOIN deliveries d ON o.id = d."orderId"
WHERE o.id = 55
GROUP BY o.id, o.status;
-- 2. Corriger CMD-55 directement si elle a des livraisons delivered
UPDATE orders
SET status = 'delivered'
WHERE id = 55
AND status != 'delivered'
AND EXISTS (
SELECT 1 FROM deliveries d
WHERE d."orderId" = 55
AND d.status = 'delivered'
);
-- 3. Vérifier que la correction a été appliquée
SELECT
o.id as order_id,
o.status as new_order_status,
COUNT(d.id) as total_deliveries,
COUNT(CASE WHEN d.status = 'delivered' THEN 1 END) as delivered_deliveries
FROM orders o
LEFT JOIN deliveries d ON o.id = d."orderId"
WHERE o.id = 55
GROUP BY o.id, o.status;
-- 4. BONUS: Corriger toutes les autres commandes dans la même situation
UPDATE orders
SET status = 'delivered'
WHERE status != 'delivered'
AND EXISTS (
SELECT 1 FROM deliveries d
WHERE d."orderId" = orders.id
AND d.status = 'delivered'
);
-- 5. Voir toutes les commandes qui ont été corrigées
SELECT
o.id as order_id,
o.status as order_status,
COUNT(d.id) as total_deliveries,
COUNT(CASE WHEN d.status = 'delivered' THEN 1 END) as delivered_deliveries
FROM orders o
LEFT JOIN deliveries d ON o.id = d."orderId"
WHERE o.status = 'delivered'
AND EXISTS (
SELECT 1 FROM deliveries d2
WHERE d2."orderId" = o.id
AND d2.status = 'delivered'
)
GROUP BY o.id, o.status
ORDER BY o.id;