修正页码排序

This commit is contained in:
2024-10-18 10:49:01 +08:00
parent d85b3fff8f
commit 3f93bd476a
2 changed files with 12 additions and 7 deletions

View File

@@ -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:

View File

@@ -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):