graph TD
Start((开始)) --> A[业务登记]
A --> B{检查业务单号是否为空}
B -->|是| C[生成业务单号]
B -->|否| D{检查接单日期是否合法}
C --> D
D -->|是| E{检查客户名称是否为空}
D -->|否| End((结束))
E -->|是| F[提示输入客户名称]
E -->|否| G{检查联系电话格式}
F --> G
G -->|是| H{检查地址是否为空}
G -->|否| End((结束))
H -->|是| I[提示输入地址]
H -->|否| J{检查人工费是否为数字}
I --> J
J -->|是| K{检查主材料费是否为数字}
J -->|否| End((结束))
K -->|是| L{检查辅助材料费是否为数字}
K -->|否| End((结束))
L -->|是| M[计算合计金额]
L -->|否| End((结束))
M --> N{检查折扣率范围0-100}
N -->|是| O[应用折扣计算最终金额]
N -->|否| P[提示折扣率错误]
P --> N
O --> Q{验证所有必填字段}
Q -->|是| R[保存业务登记数据]
Q -->|否| End((结束))
R --> End((结束))