mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-26 18:42:49 +00:00
- Added functionality to cancel contracts, allowing users to provide a reason for cancellation. - Updated contract statuses to include SUSPENDED and changed CLOSED to COMPLETED. - Enhanced the UI to reflect the new cancellation option and updated messaging for contract statuses. - Refactored contract booking actions to accommodate changes in booking logic for ONE_TIME and GENERAL contracts. - Removed clearance document management from the contract detail page, as it is now handled per booking. - Introduced a SQL script to reset bookings and train schedules for development purposes.
77 lines
3.0 KiB
PL/PgSQL
77 lines
3.0 KiB
PL/PgSQL
-- edr_dev reset: drop every contract booking, every schedule/built train,
|
|
-- and hand the whole fleet back as AVAILABLE.
|
|
-- Deliberately KEPT: contracts, companies, rates, yards, routes, the 5 wagons
|
|
-- and 7 locomotives parked in MAINTENANCE / OUT_OF_SERVICE, and the single
|
|
-- contract-less draft booking BK-2026-000011.
|
|
BEGIN;
|
|
|
|
-- 1. Detach the fleet FIRST — wagons point at trains, consists and schedules.
|
|
UPDATE freight.wagons
|
|
SET train_id = NULL,
|
|
current_train_schedule_id = NULL,
|
|
train_set_wagon_id = NULL,
|
|
sequence_number = NULL,
|
|
import_train_number = NULL,
|
|
export_train_number = NULL,
|
|
status = 'AVAILABLE',
|
|
updated_at = now()
|
|
WHERE deleted_at IS NULL
|
|
AND status <> 'MAINTENANCE';
|
|
|
|
UPDATE freight.locomotives
|
|
SET status = 'AVAILABLE',
|
|
updated_at = now()
|
|
WHERE deleted_at IS NULL
|
|
AND status NOT IN ('MAINTENANCE', 'OUT_OF_SERVICE');
|
|
|
|
-- 2. Booking-scoped rows (allocations, batch offers, movements, documents).
|
|
DELETE FROM freight.train_schedule_bookings;
|
|
DELETE FROM freight.booking_batch_offers;
|
|
DELETE FROM freight.wagon_booking_allocations;
|
|
DELETE FROM freight.wagon_allocation_bulk_loads;
|
|
DELETE FROM freight.booking_container_allocations;
|
|
DELETE FROM freight.wagon_movements;
|
|
DELETE FROM freight.customer_truck_containers;
|
|
DELETE FROM freight.customer_truck_assignments;
|
|
DELETE FROM freight.interchange_document_items;
|
|
DELETE FROM freight.facility_handling_events;
|
|
DELETE FROM freight.booking_handovers;
|
|
DELETE FROM freight.clearance_incidents;
|
|
DELETE FROM freight.clearance_milestones WHERE booking_id IS NOT NULL;
|
|
DELETE FROM freight.booking_document_review;
|
|
DELETE FROM freight.booking_contract_signatures;
|
|
DELETE FROM freight.booking_review_note;
|
|
DELETE FROM freight.booking_cargo_modifier;
|
|
DELETE FROM freight.booking_rate_snapshot;
|
|
DELETE FROM freight.containers WHERE booking_id IS NOT NULL;
|
|
DELETE FROM freight.booking_container;
|
|
DELETE FROM freight.cargoes WHERE booking_id IS NOT NULL;
|
|
DELETE FROM freight.first_mile;
|
|
DELETE FROM freight.last_mile;
|
|
DELETE FROM freight.booking_requests;
|
|
|
|
-- 3. Billing raised for those bookings.
|
|
DELETE FROM freight.invoice_lines
|
|
WHERE invoice_id IN (SELECT id FROM freight.invoices WHERE source = 'booking');
|
|
UPDATE freight.invoices SET payment_id = NULL WHERE source = 'booking';
|
|
DELETE FROM freight.payment_refunds;
|
|
DELETE FROM freight.invoices WHERE source = 'booking';
|
|
DELETE FROM freight.payments;
|
|
|
|
-- 4. The bookings themselves (self-FK cleared first).
|
|
UPDATE freight.bookings SET consolidation_partner_id = NULL WHERE contract_id IS NOT NULL;
|
|
DELETE FROM freight.bookings WHERE contract_id IS NOT NULL;
|
|
|
|
-- 5. Schedules, built trains and consists.
|
|
DELETE FROM freight.train_checkpoint_events;
|
|
DELETE FROM freight.djibouti_import_incidents;
|
|
DELETE FROM freight.import_djibouti_operations;
|
|
DELETE FROM freight.train_schedules;
|
|
DELETE FROM freight.train_set_wagons;
|
|
DELETE FROM freight.train_set_locomotives;
|
|
DELETE FROM freight.train_sets;
|
|
DELETE FROM freight.train_locomotives;
|
|
DELETE FROM freight.trains;
|
|
|
|
COMMIT;
|