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