Parts.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import Support as sp
  2. import numpy as np
  3. def get_part_by_lv2Instance(lv2_instances, condition, conn):
  4. switchCase = {"all":"", "nok":" and status = 'nok' ", "ok": " and status = 'ok' "}
  5. condition = switchCase[condition]
  6. #initialize array
  7. #lv4_Lv2_map = np.array([], dtype=[('lv4', int),('lv2',int), ('data', float)])
  8. #fill array
  9. cur = conn.cursor()
  10. # #lv4_instances=np.array(lv4_instances,dtype=[('keys', int), ('data', float)])
  11. #create and execute lv2 query
  12. liststring = sp.list_to_string(lv2_instances)
  13. query = "select distinct mt.part from measureTot mt join instances i on mt.instance=i.instance where i.instance in (" + liststring + ")" + condition
  14. #print(query)
  15. cur.execute(query)
  16. sqlResult = cur.fetchall()
  17. parts = np.array([], dtype=int)
  18. for entry in sqlResult:
  19. part = np.array(int(entry[0]), dtype = parts.dtype)
  20. parts = np.append(parts,part)
  21. # print(query)
  22. #print("parts")
  23. #print(parts)
  24. return parts
  25. def orderPartsChronoligically(parts, conn):
  26. cur = conn.cursor()
  27. liststring = sp.list_to_string(parts)
  28. query = "select distinct mt.part from measureTot mt join instances i on i.instance=mt.instance join logEntries log on log.instance=i.instance where mt.part in (" + liststring + ") order by log.timestamp asc"
  29. #print(query)
  30. cur.execute(query)
  31. sqlResult = cur.fetchall()
  32. parts = np.array([], dtype=int)
  33. for entry in sqlResult:
  34. parts = np.append(parts, np.array([int(entry[0])], dtype=parts.dtype))
  35. #print("parts_Sorted")
  36. #print(parts)
  37. return parts