updateStopFlight.py 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. from .flightDB import flightDB
  2. from unitls.LogerinTxt import app_logger
  3. import openpyxl
  4. import datetime
  5. from .sortFlighttime import sortFlighttime
  6. from .sortFlighttime2 import sortFlighttime2
  7. import time
  8. from unitls.StaticDataclass import get_dic
  9. def updateStopFlight(database:flightDB,workLoad:flightDB, fileName):
  10. fdb = database
  11. textInfo={"机号":2,"非航前进港机位":3,"机型":4,"发动机":5}
  12. try:
  13. workbook = openpyxl.load_workbook(filename=fileName)
  14. mysheet = workbook.active
  15. myrows = list(mysheet.values)[2:]
  16. #print(myrows)
  17. #print(myrows[1])
  18. if myrows[0][1] != "" and myrows[0][2] != "" and myrows[0][1] != None and myrows[0][2] != None:
  19. #print(myrows[0])
  20. day=str(myrows[0][1]).split("/")[0]+str(myrows[0][1]).split("/")[1]+str(myrows[0][1]).split("/")[2]
  21. day1 = str(myrows[0][1]).split("/")[0] +"-"+ str(myrows[0][1]).split("/")[1] +"-"+ str(myrows[0][1]).split("/")[2]
  22. daytime = day1 + " 00:00:00"
  23. starttime = day1 + " 09:00:00"
  24. a = datetime.datetime.strptime(daytime, "%Y-%m-%d %H:%M:%S")
  25. b = datetime.datetime.strptime(starttime, "%Y-%m-%d %H:%M:%S")
  26. flightids=fdb.queryTabel("TaskFlightinfo%s"%day,"航班编号","航班类型 ='停场'")
  27. if len(flightids) != 0:
  28. for i in flightids:
  29. fdb.deleteSingledata("TaskFlightinfo%s"%day,"航班编号='%s'"%i[0])
  30. flightinfoLabel=get_dic("TaskflightinfoLabel")
  31. for myrow in myrows:
  32. mydics0 = {}
  33. if myrow[2] and myrow[1] and myrow[2] != "" and myrow[1] != "":
  34. now = str(time.time() * 1000000).split(".")[0]
  35. flightid = "MAN" + str(now)+str(myrow[2])
  36. for i in flightinfoLabel:
  37. if i in textInfo.keys():
  38. text=myrow[textInfo[i]] if myrow[textInfo[i]] else ""
  39. mydics0[i] = "%s"%text
  40. elif i == "航班编号":
  41. mydics0[i]="%s"%flightid
  42. elif i == "航班日期":
  43. mydics0[i]="%s"%a
  44. elif i == "非航前实际到达":
  45. mydics0[i]="%s"%b
  46. elif i == "航班来源":
  47. mydics0[i]="人工添加"
  48. elif i == "航班类型":
  49. mydics0[i]="停场"
  50. else:
  51. mydics0[i]=''
  52. #print(mydics0)
  53. fdb.lazyInsertData("TaskFlightinfo%s"%day,mydics0)
  54. fdb.FunctionCommit()
  55. sortFlighttime(database,workLoad)
  56. sortFlighttime2(database,workLoad)
  57. print(datetime.datetime.now(), '[数据库操作]停场航班导入成功!')
  58. res = {"返回值": "ok"}
  59. return res
  60. except Exception as e:
  61. print(datetime.datetime.now(),'[数据库操作]停场航班导入失败!!检查模板文件!')
  62. app_logger.log_error(e)
  63. # 需要QT输出警告弹框信息
  64. res = {"返回值": "fail"}
  65. fdb.FunctionCommit()
  66. return res
  67. #新增内容