9e9de181 by 周伟奇

Merge branch 'feature/e-bank'

2 parents 7c486b64 962a3fb6
...@@ -379,6 +379,13 @@ HEADERS_MAPPING.update( ...@@ -379,6 +379,13 @@ HEADERS_MAPPING.update(
379 } 379 }
380 ) 380 )
381 381
382 # 48
383 HEADERS_MAPPING.update(
384 {
385 '商品说明': SUMMARY_KEY,
386 }
387 )
388
382 # ----------针式打印-部分格线------------------------------------------------------------------------------------------ 389 # ----------针式打印-部分格线------------------------------------------------------------------------------------------
383 # 竖版-特殊-邮储银行-一本通绿卡通交易明细(客户) 390 # 竖版-特殊-邮储银行-一本通绿卡通交易明细(客户)
384 # 竖版-特殊-邮储银行-账户交易明细(客户) 391 # 竖版-特殊-邮储银行-账户交易明细(客户)
...@@ -524,6 +531,10 @@ OTHER_TUPLE = (None, None, None, None, None, None, None, None, None, None, None, ...@@ -524,6 +531,10 @@ OTHER_TUPLE = (None, None, None, None, None, None, None, None, None, None, None,
524 # "35":"针式打印-部分格线-竖版-邮储银行", 531 # "35":"针式打印-部分格线-竖版-邮储银行",
525 # "36":"针式打印-部分格线-竖版-邮储银行-绿卡", 532 # "36":"针式打印-部分格线-竖版-邮储银行-绿卡",
526 533
534 # "46":"中国农业银行账户活期交易明细清单",
535 # "47":"平安银行个人账户交易明细清单-版式二",
536 # "48":"支付宝收支明细证明",
537
527 # "50":"普通打印-无格线-农业银行-整数-特殊", 538 # "50":"普通打印-无格线-农业银行-整数-特殊",
528 539
529 CLASSIFY_LIST = [ 540 CLASSIFY_LIST = [
...@@ -575,9 +586,11 @@ CLASSIFY_LIST = [ ...@@ -575,9 +586,11 @@ CLASSIFY_LIST = [
575 ('其他', OTHER_TUPLE), 586 ('其他', OTHER_TUPLE),
576 ('其他', OTHER_TUPLE), 587 ('其他', OTHER_TUPLE),
577 ('其他', OTHER_TUPLE), 588 ('其他', OTHER_TUPLE),
578 ('其他', OTHER_TUPLE), 589
579 ('其他', OTHER_TUPLE), 590 ('中国农业银行账户活期交易明细清单', (1, 2, 4, 5, None, 3, 6, None, None, None, None, None, None)),
580 ('其他', OTHER_TUPLE), 591 ('平安银行个人账户交易明细清单-版式二', (2, None, 3, 4, None, 5, None, 6, None, None, None, None, None)),
592 ('支付宝收支明细证明', (8, None, 5, None, None, 3, 2, None, None, None, 1, None, None)),
593
581 ('其他', OTHER_TUPLE), 594 ('其他', OTHER_TUPLE),
582 595
583 ('普通打印-无格线-农业银行-整数-特殊', (1, None, 3, 4, None, 2, None, 5, None, None, None, None, None)), 596 ('普通打印-无格线-农业银行-整数-特殊', (1, None, 3, 4, None, 2, None, 5, None, None, None, None, None)),
...@@ -632,9 +645,11 @@ CLASSIFY_HEADER_LIST = [ ...@@ -632,9 +645,11 @@ CLASSIFY_HEADER_LIST = [
632 OTHER_TUPLE, 645 OTHER_TUPLE,
633 OTHER_TUPLE, 646 OTHER_TUPLE,
634 OTHER_TUPLE, 647 OTHER_TUPLE,
635 OTHER_TUPLE, 648
636 OTHER_TUPLE, 649 ('交易日期', '交易时间', '交易摘要', '交易金额', '本次余额', '对手信息', '交易渠道', '交易附言'),
637 OTHER_TUPLE, 650 ('序号', '交易时间', '交易金额', '余额', '摘要', '交易对手信息'),
651 ('收/支', '交易对方', '商品说明', '收/付款方式', '金额', '交易订单号', '商家订单号', '交易时间'),
652
638 OTHER_TUPLE, 653 OTHER_TUPLE,
639 654
640 ('交易日期', '摘要/附言', '交易金额', '账户余额', '对方账号和户名'), 655 ('交易日期', '摘要/附言', '交易金额', '账户余额', '对方账号和户名'),
...@@ -1121,14 +1136,16 @@ SPECIAL_NYZS_CLASSIFY = 50 ...@@ -1121,14 +1136,16 @@ SPECIAL_NYZS_CLASSIFY = 50
1121 MS_CLASSIFY = 21 1136 MS_CLASSIFY = 21
1122 MS_ERROR_COL = (5, 6) 1137 MS_ERROR_COL = (5, 6)
1123 WECHART_CLASSIFY = 12 1138 WECHART_CLASSIFY = 12
1139 NEW_ZHIFUBAO_CLASSIFY = 48
1124 ALI_WECHART_CLASSIFY = {12, 13} 1140 ALI_WECHART_CLASSIFY = {12, 13}
1125 WECHART_ERROR_COL = (1, 2) 1141 WECHART_ERROR_COL = (1, 2)
1126 WECHART_HEADERS_MAPPING = copy.deepcopy(HEADERS_MAPPING) 1142 SPECIAL_HEADERS_MAPPING = copy.deepcopy(HEADERS_MAPPING)
1127 WECHART_HEADERS_MAPPING.update( 1143 SPECIAL_HEADERS_MAPPING.update(
1128 { 1144 {
1129 '交易时间': DATE_KEY, 1145 '交易时间': DATE_KEY,
1130 } 1146 }
1131 ) 1147 )
1148 SPECIAL_HEADERS_CLASSIFY_SET = {WECHART_CLASSIFY, 47, 48}
1132 1149
1133 PATTERN_LIST = ['联机金额', '交易名称', '收入/支出金额', '收入', '存入', '支出', '支取', '金额', '余额', '发生额', '借贷', 1150 PATTERN_LIST = ['联机金额', '交易名称', '收入/支出金额', '收入', '存入', '支出', '支取', '金额', '余额', '发生额', '借贷',
1134 '借贷状态', '收支标志', '收/支', '收入金额', '存入金额(贷)', '存入金额(贷)', '支出金额', '支取金额(借)', 1151 '借贷状态', '收支标志', '收/支', '收入金额', '存入金额(贷)', '存入金额(贷)', '支出金额', '支取金额(借)',
......
...@@ -61,8 +61,8 @@ class BSWorkbook(Workbook): ...@@ -61,8 +61,8 @@ class BSWorkbook(Workbook):
61 def get_header_col(header_value, classify): 61 def get_header_col(header_value, classify):
62 if header_value is None: 62 if header_value is None:
63 return 63 return
64 if classify == consts.WECHART_CLASSIFY: 64 if classify in consts.SPECIAL_HEADERS_CLASSIFY_SET:
65 header_dict = consts.WECHART_HEADERS_MAPPING 65 header_dict = consts.SPECIAL_HEADERS_MAPPING
66 else: 66 else:
67 header_dict = consts.HEADERS_MAPPING 67 header_dict = consts.HEADERS_MAPPING
68 header_col = header_dict.get(header_value) 68 header_col = header_dict.get(header_value)
...@@ -118,6 +118,8 @@ class BSWorkbook(Workbook): ...@@ -118,6 +118,8 @@ class BSWorkbook(Workbook):
118 find_count = len(header_col_list) 118 find_count = len(header_col_list)
119 if find_count < 2: 119 if find_count < 2:
120 find_count = 0 120 find_count = 0
121 # elif classify == consts.NEW_ZHIFUBAO_CLASSIFY and find_count < 3:
122 # find_count = 0
121 else: 123 else:
122 for idx, header_col in header_col_list: 124 for idx, header_col in header_col_list:
123 sheet_header_info.setdefault(ws.title, {}).setdefault(header_col, idx) 125 sheet_header_info.setdefault(ws.title, {}).setdefault(header_col, idx)
...@@ -148,7 +150,7 @@ class BSWorkbook(Workbook): ...@@ -148,7 +150,7 @@ class BSWorkbook(Workbook):
148 key=lambda x: sheet_header_info[x][consts.FIND_COUNT_KEY]) 150 key=lambda x: sheet_header_info[x][consts.FIND_COUNT_KEY])
149 best_sheet_info = sheet_header_info.get(sheet_order_list[0]) 151 best_sheet_info = sheet_header_info.get(sheet_order_list[0])
150 max_find_count = best_sheet_info.get(consts.FIND_COUNT_KEY, 0) 152 max_find_count = best_sheet_info.get(consts.FIND_COUNT_KEY, 0)
151 if max_find_count == 0: 153 if max_find_count == 0 or classify == consts.NEW_ZHIFUBAO_CLASSIFY:
152 if special_nhzs: 154 if special_nhzs:
153 classify = consts.SPECIAL_NYZS_CLASSIFY 155 classify = consts.SPECIAL_NYZS_CLASSIFY
154 for key, value in consts.CLASSIFY_MAP.items(): 156 for key, value in consts.CLASSIFY_MAP.items():
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!