添加特来电报表的结束原因
This commit is contained in:
@@ -195,6 +195,34 @@ def get_all_fields_with_display():
|
||||
"""获取所有字段,包含key和显示名称"""
|
||||
return [{'key': k, 'display': v} for k, v in FIELD_MAPPING.items()]
|
||||
|
||||
# 结束原因映射(finish_type + finish_code -> 中文原因)
|
||||
# finish_type: 1=正常结束, 2=补单结束
|
||||
FINISH_REASON_MAPPING = {
|
||||
(1, 0): '正常结束',
|
||||
(1, 1): '充电异常',
|
||||
(1, 2): '用户取消',
|
||||
(1, 3): '设备故障',
|
||||
(1, 4): '网络异常',
|
||||
(1, 5): '超时',
|
||||
(1, 6): '过温保护',
|
||||
(1, 7): '过流保护',
|
||||
(1, 8): '欠压保护',
|
||||
(1, 9): '过压保护',
|
||||
(1, 10): '接地故障',
|
||||
(1, 11): '绝缘故障',
|
||||
(1, 12): '通信故障',
|
||||
(1, 13): '计费异常',
|
||||
(1, 14): '结算异常',
|
||||
(1, 15): '卡异常',
|
||||
(1, 16): '授权失败',
|
||||
(1, 17): '余额不足',
|
||||
(1, 18): '功率受限',
|
||||
(1, 19): '充电中断',
|
||||
(1, 20): '自动充满',
|
||||
(2, 0): '补单结束',
|
||||
}
|
||||
|
||||
|
||||
# 默认字段列表(常用字段)
|
||||
DEFAULT_FIELDS = [
|
||||
'order_no',
|
||||
@@ -208,3 +236,28 @@ DEFAULT_FIELDS = [
|
||||
'state',
|
||||
'report_time'
|
||||
]
|
||||
|
||||
|
||||
# 获取结束原因
|
||||
def get_finish_reason(finish_type, finish_code, finish_msg):
|
||||
"""
|
||||
根据finish_type和finish_code获取中文结束原因
|
||||
|
||||
Args:
|
||||
finish_type: 完成类型
|
||||
finish_code: 完成代码
|
||||
finish_msg: 原始结束消息(作为后备)
|
||||
|
||||
Returns:
|
||||
str: 中文结束原因
|
||||
"""
|
||||
key = (finish_type, finish_code)
|
||||
if key in FINISH_REASON_MAPPING:
|
||||
return FINISH_REASON_MAPPING[key]
|
||||
|
||||
# 如果finish_msg有效,直接使用
|
||||
if finish_msg and finish_msg not in ('停止原因无效', '未知原因', 'None'):
|
||||
return finish_msg
|
||||
|
||||
# 默认返回
|
||||
return '未知原因'
|
||||
|
||||
Reference in New Issue
Block a user