修正页码排序
This commit is contained in:
@@ -421,7 +421,9 @@ def cost_task(pk_phhd, cost_list_ie_result):
|
|||||||
cost_data["medical_expenses"] = handle_decimal(cost_data["medical_expenses_str"])
|
cost_data["medical_expenses"] = handle_decimal(cost_data["medical_expenses_str"])
|
||||||
if cost_list_ie_result.get(IE_KEY['page']):
|
if cost_list_ie_result.get(IE_KEY['page']):
|
||||||
page_nums, page_count = parse_page_num(cost_list_ie_result[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))
|
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)
|
cost_data['page_count'] = handle_tiny_int(page_count)
|
||||||
save_or_update_ie(ZxIeCost, pk_phhd, cost_data)
|
save_or_update_ie(ZxIeCost, pk_phhd, cost_data)
|
||||||
return cost_data
|
return cost_data
|
||||||
@@ -583,11 +585,12 @@ def photo_review(pk_phhd, name):
|
|||||||
cost_missing_page = {}
|
cost_missing_page = {}
|
||||||
if cost_data.get('page_nums'):
|
if cost_data.get('page_nums'):
|
||||||
page_nums = cost_data['page_nums'].split(',')
|
page_nums = cost_data['page_nums'].split(',')
|
||||||
required_set = set(str(i) for i in range(1, cost_data['page_count'] + 1))
|
required_set = set(range(1, cost_data['page_count'] + 1))
|
||||||
page_set = set(page_nums)
|
page_set = set([int(num) for num in page_nums])
|
||||||
cost_missing_page = required_set - page_set
|
cost_missing_page = required_set - page_set
|
||||||
if cost_missing_page:
|
if cost_missing_page:
|
||||||
cost_missing_page = sorted(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)}页")
|
page_description.append(f"《住院费用清单》,缺第{','.join(cost_missing_page)}页")
|
||||||
|
|
||||||
if page_description:
|
if page_description:
|
||||||
|
|||||||
@@ -194,14 +194,16 @@ def parse_page_num(page_list):
|
|||||||
for page in page_list:
|
for page in page_list:
|
||||||
page_texts = [p.get('text', '') for p in page]
|
page_texts = [p.get('text', '') for p in page]
|
||||||
join = ''.join(page_texts)
|
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:
|
if not numbers:
|
||||||
continue
|
continue
|
||||||
pages.append(min(numbers))
|
pages.append(min(numbers))
|
||||||
total.append(max(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):
|
def handle_tiny_int(num):
|
||||||
|
|||||||
Reference in New Issue
Block a user