Files
fcb_photo_review/photo_mask_error_report.py

58 lines
2.2 KiB
Python

from collections import defaultdict
from datetime import date
from sqlalchemy import update, exists, select
from db import MysqlSession
from db.mysql import ZxIeOcrerror, ZxPhrec
from util import util
if __name__ == '__main__':
today = date.today()
session = MysqlSession()
ocr_errors = (session.query(ZxIeOcrerror.pk_phrec, ZxIeOcrerror.cXm, ZxIeOcrerror.cSfzh, ZxIeOcrerror.cfjaddress,
ZxIeOcrerror.pk_phhd, ZxIeOcrerror.cfjaddress2)
.filter(ZxIeOcrerror.paint_date >= today)
.order_by(ZxIeOcrerror.pk_phrec.desc()).all())
session.close()
result = defaultdict(int)
result[f"{today}涂抹错误图片总数"] = len(ocr_errors)
for ocr_error in ocr_errors:
if ocr_error.cfjaddress2:
result[ocr_error.cfjaddress2] += 1
continue
if ocr_error.cfjaddress[17] == '1':
session = MysqlSession()
update_flag = (update(ZxIeOcrerror).where(ZxIeOcrerror.pk_phrec == ocr_error.pk_phrec).values(
checktime=util.get_default_datetime(), cfjaddress2="图片类型错误"))
session.execute(update_flag)
session.commit()
session.close()
result["图片类型错误"] += 1
continue
session = MysqlSession()
query = select(exists().where(ZxPhrec.cfjaddress == ocr_error.cfjaddress))
record_exists = session.execute(query).scalar()
session.close()
if not record_exists:
session = MysqlSession()
update_flag = (update(ZxIeOcrerror).where(ZxIeOcrerror.pk_phrec == ocr_error.pk_phrec).values(
checktime=util.get_default_datetime(), cfjaddress2="未同步"))
session.execute(update_flag)
session.commit()
session.close()
result["未同步"] += 1
continue
session = MysqlSession()
update_flag = (update(ZxIeOcrerror).where(ZxIeOcrerror.pk_phrec == ocr_error.pk_phrec).values(
cfjaddress2="未知错误"))
session.execute(update_flag)
session.commit()
session.close()
result["未知错误"] += 1
print(result)