fix amount
Showing
3 changed files
with
19 additions
and
5 deletions
| ... | @@ -41,13 +41,15 @@ TRANS_MAP = { | ... | @@ -41,13 +41,15 @@ TRANS_MAP = { |
| 41 | 'C': "0", | 41 | 'C': "0", |
| 42 | 'c': "0", | 42 | 'c': "0", |
| 43 | '(': "0", | 43 | '(': "0", |
| 44 | '(': "0", | ||
| 45 | 'o': "0", | 44 | 'o': "0", |
| 46 | 'O': "0", | 45 | 'O': "0", |
| 47 | 'D': "0", | 46 | 'D': "0", |
| 47 | |||
| 48 | '[': "1", | 48 | '[': "1", |
| 49 | ']': "1", | ||
| 49 | 'l': "1", | 50 | 'l': "1", |
| 50 | 'L': "1", | 51 | 'L': "1", |
| 52 | |||
| 51 | 'A': "4", | 53 | 'A': "4", |
| 52 | 's': "5", | 54 | 's': "5", |
| 53 | 'S': "5", | 55 | 'S': "5", |
| ... | @@ -57,6 +59,7 @@ TRANS_MAP = { | ... | @@ -57,6 +59,7 @@ TRANS_MAP = { |
| 57 | 'B': "13", | 59 | 'B': "13", |
| 58 | } | 60 | } |
| 59 | TRANS = str.maketrans(TRANS_MAP) | 61 | TRANS = str.maketrans(TRANS_MAP) |
| 62 | ERROR_CHARS = {'.', '·', '•'} | ||
| 60 | 63 | ||
| 61 | CARD_RATIO = 0.9 | 64 | CARD_RATIO = 0.9 |
| 62 | UNKNOWN_CARD = '未知卡号' | 65 | UNKNOWN_CARD = '未知卡号' | ... | ... |
| ... | @@ -458,7 +458,6 @@ class Command(BaseCommand, LoggerMixin): | ... | @@ -458,7 +458,6 @@ class Command(BaseCommand, LoggerMixin): |
| 458 | pdf_handler.extract_image() | 458 | pdf_handler.extract_image() |
| 459 | self.cronjob_log.info('{0} [pdf to img end] [business_type={1}] [doc_id={2}]'.format( | 459 | self.cronjob_log.info('{0} [pdf to img end] [business_type={1}] [doc_id={2}]'.format( |
| 460 | self.log_base, business_type, doc.id)) | 460 | self.log_base, business_type, doc.id)) |
| 461 | write_zip_file(img_save_path, os.path.join(doc_data_path, '{0}_img.zip'.format(doc.id))) | ||
| 462 | 461 | ||
| 463 | # 4.获取OCR结果并且构建excel文件 | 462 | # 4.获取OCR结果并且构建excel文件 |
| 464 | bs_summary = {} | 463 | bs_summary = {} |
| ... | @@ -514,6 +513,8 @@ class Command(BaseCommand, LoggerMixin): | ... | @@ -514,6 +513,8 @@ class Command(BaseCommand, LoggerMixin): |
| 514 | speed_time = int(end_time - start_time) | 513 | speed_time = int(end_time - start_time) |
| 515 | self.cronjob_log.error('{0} [upload failed] [business_type={1}] [doc_id={2}] [speed_time={3}] ' | 514 | self.cronjob_log.error('{0} [upload failed] [business_type={1}] [doc_id={2}] [speed_time={3}] ' |
| 516 | '[err={4}]'.format(self.log_base, business_type, doc.id, speed_time, e)) | 515 | '[err={4}]'.format(self.log_base, business_type, doc.id, speed_time, e)) |
| 516 | write_zip_file(img_save_path, os.path.join(doc_data_path, '{0}_img.zip'.format(doc.id))) | ||
| 517 | |||
| 517 | else: | 518 | else: |
| 518 | doc.status = DocStatus.COMPLETE.value | 519 | doc.status = DocStatus.COMPLETE.value |
| 519 | doc.save() | 520 | doc.save() |
| ... | @@ -521,5 +522,6 @@ class Command(BaseCommand, LoggerMixin): | ... | @@ -521,5 +522,6 @@ class Command(BaseCommand, LoggerMixin): |
| 521 | speed_time = int(end_time - start_time) | 522 | speed_time = int(end_time - start_time) |
| 522 | self.cronjob_log.info('{0} [process complete] [business_type={1}] [doc_id={2}] ' | 523 | self.cronjob_log.info('{0} [process complete] [business_type={1}] [doc_id={2}] ' |
| 523 | '[speed_time={3}]'.format(self.log_base, business_type, doc.id, speed_time)) | 524 | '[speed_time={3}]'.format(self.log_base, business_type, doc.id, speed_time)) |
| 525 | write_zip_file(img_save_path, os.path.join(doc_data_path, '{0}_img.zip'.format(doc.id))) | ||
| 524 | 526 | ||
| 525 | self.cronjob_log.info('{0} [stop safely]'.format(self.log_base)) | 527 | self.cronjob_log.info('{0} [stop safely]'.format(self.log_base)) | ... | ... |
| ... | @@ -207,11 +207,20 @@ class BSWorkbook(Workbook): | ... | @@ -207,11 +207,20 @@ class BSWorkbook(Workbook): |
| 207 | def amount_format(amount_str): | 207 | def amount_format(amount_str): |
| 208 | if not isinstance(amount_str, str) or amount_str == '': | 208 | if not isinstance(amount_str, str) or amount_str == '': |
| 209 | return amount_str | 209 | return amount_str |
| 210 | # 替换 | 210 | # 1.替换 |
| 211 | res_str = amount_str.translate(consts.TRANS) | 211 | res_str = amount_str.translate(consts.TRANS) |
| 212 | # 删除多余的- | 212 | # 2.删除多余的- |
| 213 | res_str = res_str[0] + res_str[1:].replace('-', '') | 213 | res_str = res_str[0] + res_str[1:].replace('-', '') |
| 214 | # TODO 逗号与句号处理 | 214 | # 3.首字符处理 |
| 215 | if res_str[0] in consts.ERROR_CHARS: | ||
| 216 | res_str = '-{0}'.format(res_str[1:]) | ||
| 217 | # 4.逗号与句号处理 | ||
| 218 | if len(res_str) >= 4: | ||
| 219 | period_idx = len(res_str) - 3 | ||
| 220 | if res_str[period_idx] == '.' and res_str[period_idx - 1] == ',': | ||
| 221 | res_str = '{0}{1}'.format(res_str[:period_idx - 1], res_str[period_idx:]) | ||
| 222 | elif res_str[period_idx] == ',': | ||
| 223 | res_str = '{0}.{1}'.format(res_str[:period_idx], res_str[period_idx + 1:]) | ||
| 215 | return res_str | 224 | return res_str |
| 216 | 225 | ||
| 217 | def build_month_sheet(self, card, month_mapping, ms, is_reverse): | 226 | def build_month_sheet(self, card, month_mapping, ms, is_reverse): | ... | ... |
-
Please register or sign in to post a comment