add keywords
Showing
3 changed files
with
23 additions
and
5 deletions
... | @@ -778,7 +778,9 @@ class Command(BaseCommand, LoggerMixin): | ... | @@ -778,7 +778,9 @@ class Command(BaseCommand, LoggerMixin): |
778 | type=KeywordsType.LOAN.value, on_off=True).values_list('keyword', flat=True) | 778 | type=KeywordsType.LOAN.value, on_off=True).values_list('keyword', flat=True) |
779 | wechat_keyword = Keywords.objects.filter( | 779 | wechat_keyword = Keywords.objects.filter( |
780 | type=KeywordsType.ALI_WECHART.value, on_off=True).values_list('keyword', flat=True) | 780 | type=KeywordsType.ALI_WECHART.value, on_off=True).values_list('keyword', flat=True) |
781 | wb = BSWorkbook(interest_keyword, salary_keyword, loan_keyword, wechat_keyword) | 781 | repayments_keyword = Keywords.objects.filter( |
782 | type=KeywordsType.REPAYMENTS.value, on_off=True).values_list('keyword', flat=True) | ||
783 | wb = BSWorkbook(interest_keyword, salary_keyword, loan_keyword, wechat_keyword, repayments_keyword) | ||
782 | for img_path, res in ocr_1_res.items(): | 784 | for img_path, res in ocr_1_res.items(): |
783 | pno, ino = self.parse_img_path(img_path) | 785 | pno, ino = self.parse_img_path(img_path) |
784 | part_idx = 1 | 786 | part_idx = 1 | ... | ... |
... | @@ -19,6 +19,7 @@ class KeywordsType(NamedEnum): | ... | @@ -19,6 +19,7 @@ class KeywordsType(NamedEnum): |
19 | SALARY = (1, '薪资') | 19 | SALARY = (1, '薪资') |
20 | LOAN = (2, '贷款') | 20 | LOAN = (2, '贷款') |
21 | ALI_WECHART = (3, '微信/支付宝') | 21 | ALI_WECHART = (3, '微信/支付宝') |
22 | REPAYMENTS = (4, '还款') | ||
22 | 23 | ||
23 | 24 | ||
24 | class RequestTeam(NamedEnum): | 25 | class RequestTeam(NamedEnum): | ... | ... |
... | @@ -14,17 +14,20 @@ from apps.doc import consts | ... | @@ -14,17 +14,20 @@ from apps.doc import consts |
14 | 14 | ||
15 | class BSWorkbook(Workbook): | 15 | class BSWorkbook(Workbook): |
16 | 16 | ||
17 | def __init__(self, interest_keyword, salary_keyword, loan_keyword, wechat_keyword, *args, **kwargs): | 17 | def __init__(self, interest_keyword, salary_keyword, loan_keyword, wechat_keyword, repayments_keyword, *args, **kwargs): |
18 | super().__init__(*args, **kwargs) | 18 | super().__init__(*args, **kwargs) |
19 | locale.setlocale(locale.LC_NUMERIC, 'en_US.UTF-8') | 19 | locale.setlocale(locale.LC_NUMERIC, 'en_US.UTF-8') |
20 | self.meta_sheet_title = 'Key info' | 20 | self.meta_sheet_title = 'Key info' |
21 | self.blank_row = (None,) | 21 | self.blank_row = (None,) |
22 | self.code_header = ('页数', '电子回单验证码') | 22 | self.code_header = ('页数', '电子回单验证码') |
23 | self.date_header = ('打印时间', '起始日期', '终止日期', '流水区间结果') | 23 | self.date_header = ('打印时间', '起始日期', '终止日期', '流水区间结果') |
24 | self.keyword_header = ('关键词', '记账日期', '金额') | 24 | self.interest_keyword_header = ('结息关键词', '记账日期', '金额') |
25 | self.salary_keyword_header = ('收入关键词', '记账日期', '金额') | ||
26 | self.repayments_keyword_header = ('还款关键词', '记账日期', '金额') | ||
25 | self.interest_keyword = self.replace_newline(interest_keyword) | 27 | self.interest_keyword = self.replace_newline(interest_keyword) |
26 | self.salary_keyword = self.replace_newline(salary_keyword) | 28 | self.salary_keyword = self.replace_newline(salary_keyword) |
27 | self.loan_keyword = self.replace_newline(loan_keyword) | 29 | self.loan_keyword = self.replace_newline(loan_keyword) |
30 | self.repayments_keyword = self.replace_newline(repayments_keyword) | ||
28 | self.wechat_keyword = wechat_keyword | 31 | self.wechat_keyword = wechat_keyword |
29 | self.proof_res = ('对', '错') | 32 | self.proof_res = ('对', '错') |
30 | self.loan_fill = PatternFill("solid", fgColor="00FFCC00") | 33 | self.loan_fill = PatternFill("solid", fgColor="00FFCC00") |
... | @@ -323,7 +326,7 @@ class BSWorkbook(Workbook): | ... | @@ -323,7 +326,7 @@ class BSWorkbook(Workbook): |
323 | self.date_header, | 326 | self.date_header, |
324 | (print_time, start_date, end_date, timedelta), | 327 | (print_time, start_date, end_date, timedelta), |
325 | self.blank_row, | 328 | self.blank_row, |
326 | self.keyword_header] | 329 | self.interest_keyword_header] |
327 | ) | 330 | ) |
328 | return metadata_rows | 331 | return metadata_rows |
329 | 332 | ||
... | @@ -423,6 +426,7 @@ class BSWorkbook(Workbook): | ... | @@ -423,6 +426,7 @@ class BSWorkbook(Workbook): |
423 | result_idx = len(header) - 1 | 426 | result_idx = len(header) - 1 |
424 | 427 | ||
425 | tmp_ws = self.create_sheet('tmp_ws') | 428 | tmp_ws = self.create_sheet('tmp_ws') |
429 | tmp2_ws = self.create_sheet('tmp2_ws') | ||
426 | if classify in consts.ALI_WECHART_CLASSIFY: | 430 | if classify in consts.ALI_WECHART_CLASSIFY: |
427 | high_light_keyword = self.wechat_keyword | 431 | high_light_keyword = self.wechat_keyword |
428 | else: | 432 | else: |
... | @@ -536,6 +540,10 @@ class BSWorkbook(Workbook): | ... | @@ -536,6 +540,10 @@ class BSWorkbook(Workbook): |
536 | elif summary_cell_value in self.salary_keyword: | 540 | elif summary_cell_value in self.salary_keyword: |
537 | new_amount_cell_value = None if amount_cell is None else amount_cell.value | 541 | new_amount_cell_value = None if amount_cell is None else amount_cell.value |
538 | tmp_ws.append((summary_cell_value, date_cell_value, new_amount_cell_value)) | 542 | tmp_ws.append((summary_cell_value, date_cell_value, new_amount_cell_value)) |
543 | # 关键词3提取至临时表 | ||
544 | elif summary_cell_value in self.repayments_keyword: | ||
545 | new_amount_cell_value = None if amount_cell is None else amount_cell.value | ||
546 | tmp2_ws.append((summary_cell_value, date_cell_value, new_amount_cell_value)) | ||
539 | # 贷款关键词高亮 | 547 | # 贷款关键词高亮 |
540 | # elif summary_cell_value in high_light_keyword: | 548 | # elif summary_cell_value in high_light_keyword: |
541 | # summary_cell.fill = self.amount_fill | 549 | # summary_cell.fill = self.amount_fill |
... | @@ -557,11 +565,18 @@ class BSWorkbook(Workbook): | ... | @@ -557,11 +565,18 @@ class BSWorkbook(Workbook): |
557 | 565 | ||
558 | # 关键词2信息提取 | 566 | # 关键词2信息提取 |
559 | ms.append(self.blank_row) | 567 | ms.append(self.blank_row) |
560 | ms.append(self.keyword_header) | 568 | ms.append(self.salary_keyword_header) |
561 | for row in tmp_ws.iter_rows(values_only=True): | 569 | for row in tmp_ws.iter_rows(values_only=True): |
562 | ms.append(row) | 570 | ms.append(row) |
563 | self.remove(tmp_ws) | 571 | self.remove(tmp_ws) |
564 | 572 | ||
573 | # 关键词3信息提取 | ||
574 | ms.append(self.blank_row) | ||
575 | ms.append(self.repayments_keyword_header) | ||
576 | for row in tmp2_ws.iter_rows(values_only=True): | ||
577 | ms.append(row) | ||
578 | self.remove(tmp2_ws) | ||
579 | |||
565 | def bs_rebuild(self, bs_summary): | 580 | def bs_rebuild(self, bs_summary): |
566 | # bs_summary = { | 581 | # bs_summary = { |
567 | # '卡号': { | 582 | # '卡号': { | ... | ... |
-
Please register or sign in to post a comment