Files
fcb_photo_review/photo_mask_error_report.py
2024-08-02 08:58:14 +08:00

59 lines
2.3 KiB
Python

from collections import defaultdict
from datetime import date, timedelta
from sqlalchemy import update, exists, select, and_
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(and_(ZxIeOcrerror.creationtime >= today,
ZxIeOcrerror.creationtime < today + timedelta(days=1)))
.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)