From 3f93bd476a154b306befb451e12629b465878cc4 Mon Sep 17 00:00:00 2001 From: liuyebo <1515783401@qq.com> Date: Fri, 18 Oct 2024 10:49:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E9=A1=B5=E7=A0=81=E6=8E=92?= =?UTF-8?q?=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- photo_review/auto_photo_review.py | 11 +++++++---- util/data_util.py | 8 +++++--- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/photo_review/auto_photo_review.py b/photo_review/auto_photo_review.py index 79839d8..9cc66b6 100644 --- a/photo_review/auto_photo_review.py +++ b/photo_review/auto_photo_review.py @@ -421,8 +421,10 @@ def cost_task(pk_phhd, cost_list_ie_result): cost_data["medical_expenses"] = handle_decimal(cost_data["medical_expenses_str"]) if cost_list_ie_result.get(IE_KEY['page']): page_nums, page_count = parse_page_num(cost_list_ie_result[IE_KEY['page']]) - cost_data['page_nums'] = handle_original_data(','.join(page_nums)) - cost_data['page_count'] = handle_tiny_int(page_count) + if page_nums: + page_nums_str = [str(num) for num in page_nums] + cost_data['page_nums'] = handle_original_data(','.join(page_nums_str)) + cost_data['page_count'] = handle_tiny_int(page_count) save_or_update_ie(ZxIeCost, pk_phhd, cost_data) return cost_data @@ -583,11 +585,12 @@ def photo_review(pk_phhd, name): cost_missing_page = {} if cost_data.get('page_nums'): page_nums = cost_data['page_nums'].split(',') - required_set = set(str(i) for i in range(1, cost_data['page_count'] + 1)) - page_set = set(page_nums) + required_set = set(range(1, cost_data['page_count'] + 1)) + page_set = set([int(num) for num in page_nums]) cost_missing_page = required_set - page_set if cost_missing_page: cost_missing_page = sorted(cost_missing_page) + cost_missing_page = [str(num) for num in cost_missing_page] page_description.append(f"《住院费用清单》,缺第{','.join(cost_missing_page)}页") if page_description: diff --git a/util/data_util.py b/util/data_util.py index d2a7818..36ff58e 100644 --- a/util/data_util.py +++ b/util/data_util.py @@ -194,14 +194,16 @@ def parse_page_num(page_list): for page in page_list: page_texts = [p.get('text', '') for p in page] join = ''.join(page_texts) - numbers = re.findall(r'\d+', join) + numbers_str = re.findall(r'\d+', join) # 过滤异常值 - numbers = [num for num in numbers if int(num) <= 30] + numbers = [int(num) for num in numbers_str if int(num) <= 30] if not numbers: continue pages.append(min(numbers)) total.append(max(numbers)) - return pages, int(max(total if total else ['1'])) + if not pages: + return None, None + return pages, max(total) def handle_tiny_int(num):