sortFlighttime2.py 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. from .flightDB import flightDB
  2. import datetime
  3. from .initFlightDatabase import initFlightDatabase
  4. from unitls.LogerinTxt import app_logger
  5. def getSortFlightdata(fdb:flightDB, datatime:str,tablename:str):
  6. try:
  7. nowDayStr = datatime
  8. sortData = fdb.sortTable('{}{}'.format(tablename,nowDayStr), '级别,保障时间','asc')
  9. return sortData
  10. except Exception as e:
  11. app_logger.log_error(e)
  12. def sortFlighttime2(database:flightDB,wokload:flightDB):
  13. try:
  14. sortLabel = ["编号", "航班编号", "保障时间", "航班类型", "航班日期", "级别"]
  15. nowDay = datetime.datetime.now().strftime("%Y%m%d")
  16. nowDay_1 = (datetime.date.today() - datetime.timedelta(days=1)).strftime("%Y%m%d")
  17. nowDay_2 = (datetime.date.today() + datetime.timedelta(days=1)).strftime("%Y%m%d")
  18. now = datetime.datetime.now()
  19. now_20 = (datetime.datetime.now() + datetime.timedelta(minutes=200)).strftime("%Y%m%d")
  20. initFlightDatabase(database, wokload, now_20)
  21. initFlightDatabase(database, wokload, nowDay_1)
  22. initFlightDatabase(database, wokload, nowDay_2)
  23. initFlightDatabase(database, wokload, nowDay)
  24. if now_20 == nowDay:
  25. day = [nowDay, nowDay_1]
  26. else:
  27. day = [nowDay, nowDay_1, nowDay_2]
  28. for selectedtime in day:
  29. sort2NOs_arr=[]
  30. sort2NOs = database.getSingledata("编号","sortFlight2{}".format(selectedtime))
  31. sortNOs = database.getSingledata("编号", "sortFlight{}".format(selectedtime))
  32. if sort2NOs !=None and len(sort2NOs)!=0:
  33. for i in sort2NOs:
  34. if str(i) in str(sortNOs):
  35. sort2NOs_arr.append(i[0])
  36. else:
  37. database.deleteSingledata("sortFlight2{}".format(selectedtime),"编号 = '%s'"%i[0])
  38. sorttable = getSortFlightdata(database, selectedtime,"sortFlight")
  39. for row in sorttable:
  40. if row[3] == "短停接" or row[3] == "特后前接":
  41. if str(row[5]) == "4":
  42. find_id = row[1] + "-2"
  43. for row2 in sorttable:
  44. if row2[0] == find_id and row2[5] == "4":
  45. jb = row[5]
  46. elif row2[0] == find_id:
  47. jb = "1"
  48. else:
  49. jb = row[5]
  50. newdic = {}
  51. newdic2={}
  52. for col in range(0,6):
  53. if col == 0:
  54. newdic[sortLabel[col]]=row[col]
  55. elif col != 5:
  56. newdic[sortLabel[col]]=row[col]
  57. newdic2[sortLabel[col]]="'%s'"%row[col]
  58. else:
  59. newdic[sortLabel[5]]=jb
  60. newdic2[sortLabel[5]] = "'%s'"%jb
  61. if str(row[0]) not in str(sort2NOs_arr):
  62. database.lazyInsertData('sortFlight2{}'.format(selectedtime),newdic)
  63. else:
  64. database.lazyUpdateItem('sortFlight2{}'.format(selectedtime),newdic2,"编号 = '%s'"%row[0])
  65. elif row[3] != "短停送" and row[3] != "特后前送":
  66. newdic = {}
  67. newdic2 = {}
  68. for col in range(0,6):
  69. if col == 0:
  70. newdic[sortLabel[col]]=row[col]
  71. else:
  72. newdic[sortLabel[col]]=row[col]
  73. newdic2[sortLabel[col]] = "'%s'"%row[col]
  74. if str(row[0]) not in str(sort2NOs_arr):
  75. database.lazyInsertData('sortFlight2{}'.format(selectedtime), newdic)
  76. else:
  77. database.lazyUpdateItem('sortFlight2{}'.format(selectedtime), newdic2, "编号 = '%s'" % row[0])
  78. database.FunctionCommit()
  79. except Exception as e:
  80. app_logger.log_error(e)