check_data.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import sys
  2. import os
  3. sys.path.append(os.path.dirname(os.path.abspath(__file__)))
  4. from db.pool import get_mysql_conn, get_doris_conn
  5. def check():
  6. mysql_conn = get_mysql_conn()
  7. doris_conn = get_doris_conn()
  8. mysql_cursor = mysql_conn.cursor()
  9. doris_cursor = doris_conn.cursor()
  10. sdate = "2026-04-01 00:00:00"
  11. edate = "2026-05-01 00:00:00"
  12. group_id = 1
  13. # Check MySQL
  14. sql = """
  15. SELECT count(*) as cnt
  16. FROM fee_incomedetail x
  17. JOIN clinic_clinic c ON c.id = x.clinic_id
  18. WHERE x.created >= %s AND x.created < %s
  19. AND x.group_id = %s
  20. AND x.visual = 1 AND x.org_id != 16
  21. AND (x.flag IN (4, 5) OR (x.flag IN (1, 2, 6, 7, 8, 9, 10, 11, 12) AND x.should_amt != 0))
  22. """
  23. mysql_cursor.execute(sql, (sdate, edate, group_id))
  24. mysql_res = mysql_cursor.fetchone()
  25. print(f"MySQL count for group {group_id} between {sdate} and {edate}: {mysql_res['cnt']}")
  26. # Check Doris
  27. doris_sql = """
  28. SELECT count(*) as cnt
  29. FROM fact_fee_grossprofit
  30. WHERE pay_time >= %s AND pay_time < %s AND group_id = %s
  31. """
  32. doris_cursor.execute(doris_sql, (sdate, edate, group_id))
  33. doris_res = doris_cursor.fetchone()
  34. print(f"Doris count for group {group_id} between {sdate} and {edate}: {doris_res['cnt']}")
  35. mysql_cursor.close()
  36. doris_cursor.close()
  37. mysql_conn.close()
  38. doris_conn.close()
  39. if __name__ == "__main__":
  40. check()