不灭的焱

革命尚未成功,同志仍须努力 JDK下载

作者:AlbertWen  添加时间:2026-10-02 23:04:12  修改时间:2026-10-20 15:09:19  分类:01.货代/跨境/物流  编辑

同一家船公司、同一艘船的航次号有可能重复;而船期表中多次出现相同的船名、航次号,也可能只是同一航次在不同港口的挂靠记录。这两种情况需要区分。

以下船名、航次号、日期均为假设示例。

船名表示是哪一艘船;航次表示这艘船执行的某一次航行任务;航次号是船公司为该航次编制的编号;挂靠港口是这次航行途中停靠的港口;船期则体现船舶在相关港口的预计到达、离开等时间安排。

同一家船公司、同一艘船,不同实际航次可能使用相同的航次号,具体取决于船公司的编号规则。有的按年度重新计数,有的跨年连续编号,不能认为所有船公司都每年重置。docs.dataloy.com

假设A船公司每年重新编号,而且航次号不包含年份:

船公司 船名 航次号 开航日期
A船公司 示例远洋轮 001W 2026-01-10
A船公司 示例远洋轮 002W 2026-03-20
A船公司 示例远洋轮 001W 2027-01-12

第一条和第三条的船公司、船名、航次号完全相同,但对应不同年份的两次航行。重复的是航次号,实际航次并不是同一个。

另一种情况是:同一个实际航次会挂靠多个港口,因此船期表需要为每个港口分别记录到离港时间。

例如,A船公司的“示例远洋轮”执行 026W 航次,行驶路线为:

上海 → 宁波 → 新加坡 → 鹿特丹

假设船公司在上述航段统一使用 026W,船期表可能如下:

船名 航次号 挂靠港口 预计到港时间(ETA) 预计离港时间(ETD)
示例远洋轮 026W 上海港 2026-10-05 2026-10-06
示例远洋轮 026W 宁波港 2026-10-07 2026-10-08
示例远洋轮 026W 新加坡港 2026-10-14 2026-10-15
示例远洋轮 026W 鹿特丹港 2026-11-10 2026-11-11

这里的“示例远洋轮+026W”出现了4次,表示同一航次的4条挂靠记录,并不代表执行了4个航次。

放到货代订单中看:

客户订单 装货港 卸货港 船名/航次 装货港预计离港日期
客户A的一柜家具 上海 鹿特丹 示例远洋轮/026W 2026-10-06
客户B的一柜服装 宁波 鹿特丹 示例远洋轮/026W 2026-10-08

客户A的货先在上海装船,船驶到宁波后,再装上客户B的货,随后继续驶往欧洲。两票货的装货港、上船日期不同,但乘坐的是同一艘船的同一个航次。

因此,在货代系统中,建议这样管理:

  • 船舶记录:管理船舶本身的信息。
  • 航次记录:每个实际航次生成独立的航次ID,记录船公司、船舶、完整航次号、航次年份等信息。
  • 挂靠记录:一个航次下面保存多条记录,分别管理挂靠顺序、港口、预计及实际到离港时间。
  • 订单关联:订单关联具体航次,以及相应的装货港、卸货港挂靠记录。
  • 唯一性处理:不要直接把“船公司+船名+航次号”设置为永久唯一的组合;预计开航时间可能调整,也不适合作为不可变的主键。