添加结果文件输出

This commit is contained in:
2024-06-25 16:59:34 +08:00
parent 834f6fa482
commit 81c4c5694c

View File

@@ -1,12 +1,18 @@
import json import json
import os import os
import sys import sys
from decimal import Decimal
from io import BytesIO from io import BytesIO
from itertools import groupby from itertools import groupby
import requests import requests
from PIL import ImageDraw, Image, ImageFont from PIL import ImageDraw, Image, ImageFont
from photo_review.entity.zx_ie_cost import ZxIeCost
from photo_review.entity.zx_ie_discharge import ZxIeDischarge
from photo_review.entity.zx_ie_settlement import ZxIeSettlement
from photo_review.entity.zx_phhd import ZxPhhd
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from config.mysql import MysqlSession from config.mysql import MysqlSession
from photo_review.entity.zx_ocr import ZxOcr from photo_review.entity.zx_ocr import ZxOcr
@@ -15,7 +21,51 @@ from ucloud import ucloud
def check_ie_result(pk_phhd): def check_ie_result(pk_phhd):
json_result = {"pk_phhd": pk_phhd}
session = MysqlSession() session = MysqlSession()
phhd = session.query(ZxPhhd.cXm).filter(ZxPhhd.pk_phhd == pk_phhd).one()
json_result["cXm"] = phhd.cXm
settlement = session.query(ZxIeSettlement.pk_ie_settlement, ZxIeSettlement.name, ZxIeSettlement.admission_date, ZxIeSettlement.discharge_date,
ZxIeSettlement.medical_expenses, ZxIeSettlement.personal_cash_payment, ZxIeSettlement.personal_account_payment,
ZxIeSettlement.personal_funded_amount, ZxIeSettlement.medical_insurance_type).filter(ZxIeSettlement.pk_phhd == pk_phhd).one()
settlement_result = {
"pk_ie_settlement": settlement.pk_ie_settlement,
"name": settlement.name,
"admission_date": settlement.admission_date,
"discharge_date": settlement.discharge_date,
"medical_expenses": settlement.medical_expenses,
"personal_cash_payment": settlement.personal_cash_payment,
"personal_account_payment": settlement.personal_account_payment,
"personal_funded_amount": settlement.personal_funded_amount,
"medical_insurance_type": settlement.medical_insurance_type,
}
json_result["settlement"] = settlement_result
discharge = session.query(ZxIeDischarge.pk_ie_discharge, ZxIeDischarge.hospital, ZxIeDischarge.pk_yljg, ZxIeDischarge.department, ZxIeDischarge.pk_ylks,
ZxIeDischarge.name, ZxIeDischarge.admission_date, ZxIeDischarge.discharge_date, ZxIeDischarge.doctor).filter(ZxIeDischarge.pk_phhd == pk_phhd).one()
discharge_result = {
"pk_ie_discharge": discharge.pk_ie_discharge,
"hospital": discharge.hospital,
"pk_yljg": discharge.pk_yljg,
"department": discharge.department,
"pk_ylks": discharge.pk_ylks,
"name": discharge.name,
"admission_date": discharge.admission_date,
"discharge_date": discharge.discharge_date,
"doctor": discharge.doctor,
}
json_result["discharge"] = discharge_result
cost = session.query(ZxIeCost.pk_ie_cost, ZxIeCost.name, ZxIeCost.admission_date, ZxIeCost.discharge_date, ZxIeCost.medical_expenses).filter(ZxIeCost.pk_phhd == pk_phhd).one()
cost_result = {
"pk_ie_cost": cost.pk_ie_cost,
"name": cost.name,
"admission_date": cost.admission_date,
"discharge_date": cost.discharge_date,
"medical_expenses": cost.medical_expenses,
}
json_result["cost"] = cost_result
phrecs = session.query(ZxPhrec.pk_phrec, ZxPhrec.pk_phhd, ZxPhrec.cRectype, ZxPhrec.cfjaddress).filter(ZxPhrec.pk_phhd == pk_phhd).all() phrecs = session.query(ZxPhrec.pk_phrec, ZxPhrec.pk_phhd, ZxPhrec.cRectype, ZxPhrec.cfjaddress).filter(ZxPhrec.pk_phhd == pk_phhd).all()
for phrec in phrecs: for phrec in phrecs:
img_name = phrec.cfjaddress img_name = phrec.cfjaddress
@@ -50,6 +100,14 @@ def check_ie_result(pk_phhd):
image.save(f"./check_result/{pk_phhd}/{ocr_item.id}/{img_name}") image.save(f"./check_result/{pk_phhd}/{ocr_item.id}/{img_name}")
session.close() session.close()
# 自定义JSON处理器来处理Decimal类型
def decimal_default(obj):
if isinstance(obj, Decimal):
return float(obj)
with open(f"./check_result/{pk_phhd}/result.json", "w", encoding="utf-8") as json_file:
json.dump(json_result, json_file, indent=4, ensure_ascii=False, default=decimal_default)
if __name__ == '__main__': if __name__ == '__main__':
check_ie_result(3866770) check_ie_result(3866770)