graph TD
Start((开始)) --> A[业务登记节点]
A --> B{检查业务单号是否为空}
B -->|是| C[提示:业务单号不能为空]
C --> End((结束))
B -->|否| D{检查接单日期是否合法}
D -->|是| E[自动填充当前日期]
E --> F{检查客户名称是否为空}
D -->|否| G[提示:请选择有效日期]
G --> End
F -->|是| H[提示:客户名称不能为空]
H --> End
F -->|否| I{检查联系电话格式}
I -->|是| J{检查地址是否为空}
I -->|否| K[提示:联系电话格式错误]
K --> End
J -->|是| L[提示:地址不能为空]
L --> End
J -->|否| M[计算合计金额]
M --> N[人工费 + 主材料费 + 辅助材料费]
N --> O{检查合计金额是否大于0}
O -->|是| P{检查折扣率范围0-100}
O -->|否| Q[提示:费用合计必须大于0]
Q --> End
P -->|是| R[应用折扣率计算最终金额]
R --> S{检查所有必填字段是否完整}
P -->|否| T[提示:折扣率必须在0-100之间]
T --> End
S -->|是| U[保存业务登记单]
U --> V[生成业务单号]
V --> End
S -->|否| W[提示:请补全必填信息]
W --> End