7b3eb559 by 周伟奇

Merge branch 'master' into feature/mssql

2 parents 50ad42a7 96b67222
...@@ -34,4 +34,5 @@ data/* ...@@ -34,4 +34,5 @@ data/*
34 src/*.sh 34 src/*.sh
35 35
36 test.py 36 test.py
37 ocr_test.py
...\ No newline at end of file ...\ No newline at end of file
37 ocr_test.py
38 ocr_test_2.py
...\ No newline at end of file ...\ No newline at end of file
......
1 PAGE_DEFAULT = 1 1 PAGE_DEFAULT = 1
2 PAGE_SIZE_DEFAULT = 10 2 PAGE_SIZE_DEFAULT = 10
3 3
4 TRANS = str.maketrans('Cc((oODlLmAsSbg', '000000011345569')
5
6 CARD_RATIO = 0.9
7 UNKNOWN_CARD = '未知卡号'
8 UNKNOWN_ROLE = '未知户名'
9 DATE_FORMAT = ['%Y年%m月%d日', '%Y/%m/%d', '%Y-%m-%d', '%Y%m%d']
10
11 FIXED_APPLICATION_ID_PREFIX = 'CH-S' 4 FIXED_APPLICATION_ID_PREFIX = 'CH-S'
12 5
13 DOC_SCHEME_LIST = ['ACCEPTANCE', 'SETTLEMENT', 'CONTRACT MANAGEMENT'] 6 DOC_SCHEME_LIST = ['ACCEPTANCE', 'SETTLEMENT', 'CONTRACT MANAGEMENT']
...@@ -19,6 +12,8 @@ SPLIT_STR = '_' ...@@ -19,6 +12,8 @@ SPLIT_STR = '_'
19 BUSINESS_TYPE_LIST = [HIL_PREFIX, AFC_PREFIX] 12 BUSINESS_TYPE_LIST = [HIL_PREFIX, AFC_PREFIX]
20 HIL_SET = {'HIL', 'HIl', 'HiL', 'Hil', 'hIL', 'hIl', 'hiL', 'hil', 'CO00002'} 13 HIL_SET = {'HIL', 'HIl', 'HiL', 'Hil', 'hIL', 'hIl', 'hiL', 'hil', 'CO00002'}
21 14
15 # -------EDMS相关---------------------------------------------------------------------------------------------------
16
22 SESSION_PREFIX = 'FHLSID' 17 SESSION_PREFIX = 'FHLSID'
23 CUSTOM_CLIENT = 'CustomClient' 18 CUSTOM_CLIENT = 'CustomClient'
24 FIXED_TOKEN = '00000000-0000-0000-0000-000000000000' 19 FIXED_TOKEN = '00000000-0000-0000-0000-000000000000'
...@@ -40,13 +35,23 @@ DEALER_CODE_META_FIELD_id = 13 ...@@ -40,13 +35,23 @@ DEALER_CODE_META_FIELD_id = 13
40 BUSINESS_TYPE_META_FIELD_id = 93 35 BUSINESS_TYPE_META_FIELD_id = 93
41 DEALER_CODE = 'ocr_situ_group' 36 DEALER_CODE = 'ocr_situ_group'
42 37
38 # ---------银行流水模板相关--------------------------------------------------------------------------------------------
39
40 TRANS = str.maketrans('Cc((oODlLmAsSbg', '000000011345569')
41
42 CARD_RATIO = 0.9
43 UNKNOWN_CARD = '未知卡号'
44 UNKNOWN_ROLE = '未知户名'
45 DATE_FORMAT = ['%Y年%m月%d日', '%Y/%m/%d', '%Y-%m-%d', '%Y%m%d']
46
43 AMOUNT_COL_TITLE_SET = {"交易金额", "金额", "收入/支出金额", "发生额"} 47 AMOUNT_COL_TITLE_SET = {"交易金额", "金额", "收入/支出金额", "发生额"}
44 OVERAGE_COL_TITLE_SET = {"账户余额", "余额"} 48 OVERAGE_COL_TITLE_SET = {"账户余额", "余额"}
45 PROOF_COL_TITLE = '核对结果' 49 PROOF_COL_TITLE = '核对结果'
46 PROOF_RES = ('对', '错') 50 PROOF_RES = ('对', '错')
47 META_SHEET_TITLE = '关键信息提取和展示' 51 META_SHEET_TITLE = '关键信息提取和展示'
48 52
49 FIXED_HEADERS = ('记账日期', '记账时间', '金额', '余额', '交易名称', '附言', '对方账户名', '对方卡号/账号', '对方开户行', '核对结果', '借贷', '收入', '支出') 53 FIXED_HEADERS = ('记账日期', '记账时间', '金额', '余额', '交易名称', '附言', '对方账户名', '对方卡号/账号',
54 '对方开户行', '核对结果', '借贷', '收入', '支出')
50 FIXED_COL_AMOUNT = len(FIXED_HEADERS) 55 FIXED_COL_AMOUNT = len(FIXED_HEADERS)
51 BASE_HEADERS_MAPPING = {label: idx+1 for idx, label in enumerate(FIXED_HEADERS)} 56 BASE_HEADERS_MAPPING = {label: idx+1 for idx, label in enumerate(FIXED_HEADERS)}
52 BORROW_HEADER_COL = BASE_HEADERS_MAPPING['借贷'] 57 BORROW_HEADER_COL = BASE_HEADERS_MAPPING['借贷']
...@@ -375,32 +380,6 @@ HEADERS_MAPPING.update( ...@@ -375,32 +380,6 @@ HEADERS_MAPPING.update(
375 # ] 380 # ]
376 381
377 # { 382 # {
378 # "0": "全表格-中国农业银行个人账户明细",
379 # "1": "全表格-中国银行",
380 # "2": "全表格-北京银行",
381 # "3": "全表格-工商银行",
382 # "4": "全表格-建设银行",
383 # "5": "部分格线-横版-中信银行账户交易明细",
384 # "6": "部分格线-横版-中信银行账户交易明细特殊",
385 # "7": "部分格线-竖版-中国农业银行",
386 # "8": "部分格线-竖版-中国农业银行分账户(窄页)",
387 # "9": "部分格线-竖版-平安电子账单"
388 # }
389
390 # CLASSIFY_LIST = [
391 # ('农业银行', (1, None, 3, 5, None, 8, 7, 6, None, None, None, None, None)),
392 # ('中国银行', (1, 2, 4, 5, 6, 9, 10, 11, 12, None, None, None, None)),
393 # ('北京银行', (1, None, 4, 5, None, 2, 6, 7, None, None, 3, None, None)),
394 # ('工商银行', (1, None, 9, 10, None, 7, None, None, None, None, None, None, None)),
395 # ('建设银行', (None, None, None, None, None, 2, None, None, None, None, None, None, None)),
396 # ('中信银行', (1, None, None, 5, None, 2, 6, 7, 8, None, None, 3, 4)),
397 # ('中信银行', (1, None, None, 5, None, 2, 6, 7, 8, None, None, 3, 4)),
398 # ('农业银行', (1, None, 3, 4, None, 2, None, 5, None, None, None, None, None)),
399 # ('农业银行', (1, None, 3, 4, None, 2, None, 5, None, None, None, None, None)),
400 # ('平安电子账单', (2, None, 5, 6, None, 4, None, None, None, None, None, None, None)),
401 # ]
402
403 # {
404 # "0":"其他", 383 # "0":"其他",
405 # "1":"普通打印-全表格-中国农业银行", 384 # "1":"普通打印-全表格-中国农业银行",
406 # "2":"普通打印-全表格-中国银行", 385 # "2":"普通打印-全表格-中国银行",
...@@ -456,3 +435,46 @@ CLASSIFY_LIST = [ ...@@ -456,3 +435,46 @@ CLASSIFY_LIST = [
456 ('邮储银行', (2, None, 5, 6, None, 4, None, 7, None, None, None, None, None)), 435 ('邮储银行', (2, None, 5, 6, None, 4, None, 7, None, None, None, None, None)),
457 ('邮储银行', (2, None, 5, 6, None, 4, None, 7, None, None, None, None, None)), 436 ('邮储银行', (2, None, 5, 6, None, 4, None, 7, None, None, None, None, None)),
458 ] 437 ]
438
439 # ----------license相关------------------------------------------------------------------------------------------------
440 # 营业执照
441 BL_KEY = 'bl'
442 # 二手车发票
443 UCI_KEY = 'uci'
444 # 港澳台通行证
445 EEP_KEY = 'eep'
446 # 行驶证
447 DL_KEY = 'dl'
448 # 护照
449 PP_KEY = 'pp'
450 # 银行卡
451 BC_KEY = 'bc'
452 # 身份证
453 IC_KEY = 'ic'
454 # 机动车登记证书
455 MVC_KEY = 'mvc'
456 # 机动车销售统一发票
457 MVI_KEY = 'mvi'
458 # 增值税发票
459 VAT_KEY = 'vat'
460
461 LICENSE_ORDER = ((MVI_KEY, '机动车销售统一发票'),
462 (IC_KEY, '身份证'),
463 (BC_KEY, '银行卡'),
464 (BL_KEY, '营业执照'),
465 (UCI_KEY, '二手车发票'),
466 (EEP_KEY, '港澳台通行证'),
467 (DL_KEY, '行驶证'),
468 (PP_KEY, '护照'),
469 (MVC_KEY, '机动车登记证书'),
470 (VAT_KEY, '增值税发票'))
471
472 BC_FIELD = (('CardNum', '银行卡号'),
473 ('BankName', '发卡行名称'),
474 ('CardName', '银行卡名称'),
475 ('BankCode', '发卡行代号'),
476 ('CardType', '银行卡类型'),
477 ('Date', '日期'))
478
479 SUCCESS_CODE_SET = {'0', 0}
480
......
...@@ -236,7 +236,7 @@ class Command(BaseCommand, LoggerMixin): ...@@ -236,7 +236,7 @@ class Command(BaseCommand, LoggerMixin):
236 merged_bs_summary[main_card]['sheet'].extend(bs_summary[card]['sheet']) 236 merged_bs_summary[main_card]['sheet'].extend(bs_summary[card]['sheet'])
237 merged_bs_summary[main_card]['role'].extend(bs_summary[card]['role']) 237 merged_bs_summary[main_card]['role'].extend(bs_summary[card]['role'])
238 merged_bs_summary[main_card]['role_set'].update(bs_summary[card]['role_set']) 238 merged_bs_summary[main_card]['role_set'].update(bs_summary[card]['role_set'])
239 merged_bs_summary[main_card]['code'].extend(bs_summary[card]['sheet']) 239 merged_bs_summary[main_card]['code'].extend(bs_summary[card]['code'])
240 merged_bs_summary[main_card]['print_time'].extend(bs_summary[card]['print_time']) 240 merged_bs_summary[main_card]['print_time'].extend(bs_summary[card]['print_time'])
241 merged_bs_summary[main_card]['start_date'].extend(bs_summary[card]['start_date']) 241 merged_bs_summary[main_card]['start_date'].extend(bs_summary[card]['start_date'])
242 merged_bs_summary[main_card]['end_date'].extend(bs_summary[card]['end_date']) 242 merged_bs_summary[main_card]['end_date'].extend(bs_summary[card]['end_date'])
...@@ -310,7 +310,7 @@ class Command(BaseCommand, LoggerMixin): ...@@ -310,7 +310,7 @@ class Command(BaseCommand, LoggerMixin):
310 if role in card_summary['role_set']: 310 if role in card_summary['role_set']:
311 merge_role.append(role) 311 merge_role.append(role)
312 card_summary['sheet'].extend(summary['sheet']) 312 card_summary['sheet'].extend(summary['sheet'])
313 card_summary['code'].extend(summary['sheet']) 313 card_summary['code'].extend(summary['code'])
314 card_summary['print_time'].extend(summary['print_time']) 314 card_summary['print_time'].extend(summary['print_time'])
315 card_summary['start_date'].extend(summary['start_date']) 315 card_summary['start_date'].extend(summary['start_date'])
316 card_summary['end_date'].extend(summary['end_date']) 316 card_summary['end_date'].extend(summary['end_date'])
...@@ -340,7 +340,8 @@ class Command(BaseCommand, LoggerMixin): ...@@ -340,7 +340,8 @@ class Command(BaseCommand, LoggerMixin):
340 # TODO 协程异步发送OCR请求 340 # TODO 协程异步发送OCR请求
341 # TODO 异常邮件通知 341 # TODO 异常邮件通知
342 # TODO 数据库断联问题 342 # TODO 数据库断联问题
343 # TODO 非流水证件处理,Excel模板 343 # TODO 非流水证件处理
344 # TODO EDMS API GATEWAY
344 def handle(self, *args, **kwargs): 345 def handle(self, *args, **kwargs):
345 sleep_second = int(conf.SLEEP_SECOND) 346 sleep_second = int(conf.SLEEP_SECOND)
346 max_sleep_second = int(conf.MAX_SLEEP_SECOND) 347 max_sleep_second = int(conf.MAX_SLEEP_SECOND)
......
...@@ -358,5 +358,14 @@ class BSWorkbook(Workbook): ...@@ -358,5 +358,14 @@ class BSWorkbook(Workbook):
358 for sheet in summary['sheet']: 358 for sheet in summary['sheet']:
359 self.remove(self.get_sheet_by_name(sheet)) 359 self.remove(self.get_sheet_by_name(sheet))
360 360
361 def license_rebuild(self, license_summary):
362 for en_key, cn_key in consts.LICENSE_ORDER:
363 ws = self.create_sheet(cn_key)
364 for bl in license_summary.get(en_key, []):
365 for bl_field in bl:
366 ws.append(bl_field)
367 ws.append((None, ))
368
361 def rebuild(self, bs_summary, license_summary): 369 def rebuild(self, bs_summary, license_summary):
362 self.bs_rebuild(bs_summary)
...\ No newline at end of file ...\ No newline at end of file
370 self.bs_rebuild(bs_summary)
371 # self.license_rebuild(license_summary)
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!