updateStopFlight.py 3.7 KB

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