From 451b693a54a51d694eb8dd111f51dd5becc9b90f Mon Sep 17 00:00:00 2001 From: liuyebo <1515783401@qq.com> Date: Wed, 29 May 2024 14:06:44 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AF=B9=E5=A7=93=E5=90=8D?= =?UTF-8?q?=E7=9A=84=E5=A4=84=E7=90=86=EF=BC=8C=E6=96=B0=E5=A2=9E=E5=92=8C?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=95=B0=E6=8D=AE=E5=BA=93=E6=97=B6=E6=8F=92?= =?UTF-8?q?=E5=85=A5=E5=BD=93=E5=89=8D=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- photo_review/photo_review.py | 19 ++++++++++++------- photo_review/util/data_util.py | 8 ++++++-- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/photo_review/photo_review.py b/photo_review/photo_review.py index 2338575..4e9a1dd 100644 --- a/photo_review/photo_review.py +++ b/photo_review/photo_review.py @@ -1,6 +1,6 @@ import json import logging -from time import sleep +from time import sleep, time from paddlenlp import Taskflow from sqlalchemy import update @@ -17,7 +17,7 @@ from photo_review.entity.zx_ie_settlement import ZxIeSettlement from photo_review.entity.zx_ocr import ZxOcr from photo_review.entity.zx_phhd import ZxPhhd from photo_review.entity.zx_phrec import ZxPhrec -from photo_review.util.data_util import handle_date, handle_decimal, handle_department +from photo_review.util.data_util import handle_date, handle_decimal, handle_department, handle_name from photo_review.util.ucloud import get_private_url @@ -37,7 +37,7 @@ def information_extraction(schema, phrecs, task_path): # 提取完保存每张图片的结果 session = MysqlSession() zx_ocr = ZxOcr(pk_phhd=phrec.pk_phhd, pk_phrec=phrec.pk_phrec, cfjaddress=phrec.cfjaddress, - content=result_json) + content=result_json, create_time=time(), update_time=time()) session.add(zx_ocr) session.commit() session.close() @@ -81,9 +81,14 @@ def save_or_update_ie(table, pk_phhd, data): session = MysqlSession() db_data = session.query(table).filter_by(pk_phhd=pk_phhd).one_or_none() if db_data: + # 更新 + db_data.update_time = time() for k, v in data.items(): setattr(db_data, k, v) else: + # 新增 + obj.create_time = time() + obj.update_time = time() session.add(obj) session.commit() session.close() @@ -133,7 +138,7 @@ def photo_review(pk_phhd): "config/model/settlement_list_model") settlement_data = { "pk_phhd": pk_phhd, - "name": get_best_value_in_keys(settlement_list_ie_result, name_key), + "name": handle_name(get_best_value_in_keys(settlement_list_ie_result, name_key)), "admission_date_str": get_best_value_in_keys(settlement_list_ie_result, admission_date_key), "discharge_date_str": get_best_value_in_keys(settlement_list_ie_result, discharge_date_key), "medical_expenses_str": get_best_value_in_keys(settlement_list_ie_result, medical_expenses_key), @@ -157,10 +162,10 @@ def photo_review(pk_phhd): "pk_phhd": pk_phhd, "hospital": get_best_value_in_keys(discharge_record_ie_result, hospital_key), "department": get_best_value_in_keys(discharge_record_ie_result, department_key), - "name": get_best_value_in_keys(discharge_record_ie_result, name_key), + "name": handle_name(get_best_value_in_keys(discharge_record_ie_result, name_key)), "admission_date_str": get_best_value_in_keys(discharge_record_ie_result, admission_date_key), "discharge_date_str": get_best_value_in_keys(discharge_record_ie_result, discharge_date_key), - "doctor": get_best_value_in_keys(discharge_record_ie_result, doctor_key) + "doctor": handle_name(get_best_value_in_keys(discharge_record_ie_result, doctor_key)) } discharge_data["admission_date"] = handle_date(discharge_data["admission_date_str"]) discharge_data["discharge_date"] = handle_date(discharge_data["discharge_date_str"]) @@ -192,7 +197,7 @@ def photo_review(pk_phhd): cost_list_ie_result = information_extraction(cost_list_schema, cost_list, "config/model/cost_list_model") cost_data = { "pk_phhd": pk_phhd, - "name": get_best_value_in_keys(cost_list_ie_result, name_key), + "name": handle_name(get_best_value_in_keys(cost_list_ie_result, name_key)), "admission_date_str": get_best_value_in_keys(cost_list_ie_result, admission_date_key), "discharge_date_str": get_best_value_in_keys(cost_list_ie_result, discharge_date_key), "medical_expenses_str": get_best_value_in_keys(cost_list_ie_result, medical_expenses_key) diff --git a/photo_review/util/data_util.py b/photo_review/util/data_util.py index 5213fdb..114ebcd 100644 --- a/photo_review/util/data_util.py +++ b/photo_review/util/data_util.py @@ -79,5 +79,9 @@ def handle_department(string): result.append(pure_string) return result -if __name__ == '__main__': - print(handle_decimal("~202312167,214.83金额(元)1,920.008,888.38740.00交三医专用章广东省医疗压院收票据(电子)政策性游其他支付:0.00医保类型:跨省异地预缴金额:11564.15备注病历号:2165996治疗费手术费护理费中成药费项目名称政电电子“东省结算方式:个人账户支付:0.00医保编号:补缴金额:0.00住院号:216599612,971.56金额(元)7,483.062,192.0211.96复核人:(小写)68,214.38")) \ No newline at end of file + +# 处理姓名类数据 +def handle_name(string): + if not string: + return "" + return re.sub(r'[^⺀-鿿·]', '', string)