graph TD
Start((开始)) --> A[用户进入运输单登记界面]
A --> B[填写主表字段: 日期、运输单号、业务类型、客户名称、联系人、联系电话、运单号、船公司、假门店费、换单费]
B --> C{系统校验必填字段 是否完整?}
C -->|是| D{校验日期格式 是否正确?}
C -->|否| E[提示“必填字段不能为空”]
E --> B
D -->|是| F{校验运单号是否重复?}
D -->|否| G[提示“日期格式错误”]
G --> B
F -->|否| H{校验客户名称 是否在客户列表中?}
F -->|是| I[提示“运单号已存在”]
I --> B
H -->|是| J{校验船公司 是否在合作船公司列表中?}
H -->|否| K[提示“客户名称不存在”]
K --> B
J -->|是| L{校验联系人、联系电话 与客户名称是否匹配?}
J -->|否| M[提示“船公司不在合作列表中”]
M --> B
L -->|是| N{校验假门店费、换单费 是否为有效数值?}
L -->|否| O[提示“联系人信息与客户不匹配”]
O --> B
N -->|是| P{校验业务类型 是否在业务类型字典中?}
N -->|否| Q[提示“费用字段必须为数值”]
Q --> B
P -->|是| R[系统自动生成运输单号 并填充当前日期]
P -->|否| S[提示“业务类型无效”]
S --> B
R --> T{用户确认提交?}
T -->|是| U{触发22条业务规则 全部校验通过?}
T -->|否| B
U -->|是| V[保存运输单数据 更新相关关联表]
U -->|否| W[逐条提示具体规则校验失败信息]
W --> B
V --> End((结束))