| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- import pymysql
- DB = dict(
- host="123.60.180.165",
- port=3306,
- user="aidopremote",
- password="1234567890aiDOP#",
- database="aidopdev",
- charset="utf8mb4",
- )
- C = "utf8mb4_0900_ai_ci"
- tid = 797403760988229
- inner_where = "IFNULL(a.Status,'') <> '' AND a.tenant_id = %s"
- sql = f"""
- SELECT
- a.RecID AS Id,
- a.Priority AS Priority,
- a.WorkOrd AS WorkOrd,
- a.LotSerial AS LotSerial,
- a.IssueSite AS IssueSite,
- a.ItemNum AS ItemNum,
- b.Descr AS Descr,
- b.Descr1 AS Descr1,
- a.QtyOrded AS QtyOrded,
- (IFNULL(a.LocationStock, 0) + IFNULL(a.OpQtyCompleted, 0)) AS LocationStock,
- a.QtyCompleted AS QtyCompleted,
- s.PlanDate AS PlanDate,
- s.ProdDate AS ProdDate,
- LOWER(a.Status) AS Status,
- COALESCE(NULLIF(TRIM(a.`Domain`), ''), IFNULL(CAST(a.tenant_id AS CHAR), '')) AS Domain,
- a.Urgent AS Urgent
- FROM WorkOrdMaster a
- LEFT JOIN ItemMaster b ON a.ItemNum = b.ItemNum
- LEFT JOIN ReplenishmentWeekPlan r
- ON a.WorkOrd = r.ProductionOrder
- AND CAST(a.`Domain` AS CHAR(64)) = CAST(r.factory_id AS CHAR(64))
- LEFT JOIN crm_seorder se ON se.bill_no = a.SalesJob
- LEFT JOIN CustMaster cm ON cm.Cust = se.custom_no
- LEFT JOIN (
- SELECT `Domain`, WorkOrds, MIN(PlanDate) AS PlanDate, MIN(ProdDate) AS ProdDate
- FROM PeriodSequenceDet
- GROUP BY `Domain`, WorkOrds
- ) s ON CAST(a.`Domain` AS CHAR(64)) = CAST(s.`Domain` AS CHAR(64))
- AND a.WorkOrd = s.WorkOrds
- LEFT JOIN (
- SELECT morder_no, MAX(create_time) AS checktime
- FROM b_examine_result
- GROUP BY morder_no
- ) exm ON exm.morder_no = a.WorkOrd
- LEFT JOIN WorkOrdInStorage ins
- ON a.WorkOrd = ins.WorkOrd
- AND ins.Remark = '工单预留'
- WHERE {inner_where}
- LIMIT 5
- """
- conn = pymysql.connect(**DB)
- c = conn.cursor()
- try:
- c.execute(sql, (tid,))
- rows = c.fetchall()
- print("rows", len(rows), rows[:2])
- except Exception as e:
- print("ERROR", e)
- for bad_tid in [0, 1300000000001]:
- c.execute(f"SELECT COUNT(*) FROM ({sql.replace('LIMIT 5','')}) t", (bad_tid,))
- print("count tenant", bad_tid, c.fetchone()[0])
- conn.close()
|