fix(firstleg): support platform scope port schedules

This commit is contained in:
2026-09-30 17:41:16 +08:00
parent 32fb9ec7b3
commit 36a74eb58e
4 changed files with 7 additions and 6 deletions
@@ -40,7 +40,7 @@ CREATE TABLE IF NOT EXISTS fl_port_schedule (
KEY idx_port_schedule_expiry (expires_at,id),
CONSTRAINT fk_port_schedule_booking FOREIGN KEY (ocean_booking_id) REFERENCES fl_ocean_booking(id),
CONSTRAINT fk_port_schedule_container FOREIGN KEY (container_booking_id) REFERENCES fl_container_booking(id),
CONSTRAINT chk_port_schedule_customer CHECK (customer_id > 0),
CONSTRAINT chk_port_schedule_customer CHECK (customer_id >= 0),
CONSTRAINT chk_port_schedule_source_type CHECK (source_type IN ('MANUAL','CARRIER','TERMINAL','API')),
CONSTRAINT chk_port_schedule_eta CHECK (etd_at IS NULL OR eta_at IS NULL OR eta_at >= etd_at),
CONSTRAINT chk_port_schedule_expiry CHECK (expires_at > observed_at),
@@ -93,7 +93,7 @@ DROP TRIGGER IF EXISTS trg_port_schedule_before_update;
DELIMITER $$
CREATE TRIGGER trg_port_schedule_before_insert BEFORE INSERT ON fl_port_schedule FOR EACH ROW
BEGIN
IF (SELECT customer_id FROM fl_ocean_booking WHERE id=NEW.ocean_booking_id) <> NEW.customer_id THEN
IF COALESCE((SELECT customer_id FROM fl_ocean_booking WHERE id=NEW.ocean_booking_id),0) <> NEW.customer_id THEN
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='船期客户与订舱客户不一致';
END IF;
IF NEW.container_booking_id IS NOT NULL AND NOT EXISTS (