manAddFlight.py 5.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. from unitls.settings import DBServer, flightDB4
  2. host, port, user1, password,online_host, online_port, online_user,online_password = DBServer()
  3. databaseflightDB4=flightDB4()
  4. from .flightDB import flightDB
  5. import datetime
  6. from .sortFlighttime import sortFlighttime
  7. from .sortFlighttime2 import sortFlighttime2
  8. def manAddFlight(fdb:flightDB,flighttype,acno,eng,actype,flightno,flightdate,bay,eta,etd,user):
  9. tasktype={"短停":"TR", "特后前":"TAF", "航前":"AP", "航后":"AF"}
  10. starttime = flightdate + " 00:00:00"
  11. flightdate1 = datetime.datetime.strptime(starttime, "%Y-%m-%d %H:%M:%S")
  12. flightdate2 =flightdate.replace("-", "")
  13. flightids=fdb.getSingledata("航班编号","TaskFlightinfo%s"%flightdate2)
  14. ETD2=etd
  15. flightid = "MAN" + str(acno) + str(flightno)+str(flightdate2)
  16. if flightid not in str(flightids):
  17. if flighttype =="航前":
  18. newdic={"航班编号": "%s" % flightid,"机号":acno,"航班日期":flightdate1,"航班类型":tasktype[flighttype],"非航前计划到达":"","航前预计起飞":ETD2,"非航前实际到达":"",
  19. "实际起飞":"","非航前预计到达":"","预飞预达":"","非航前进港机位":"","航前离港机位":bay,"维修人员":"","放行人员":"","维修状态":"",
  20. "随机":"","保留":"","维修状态时间":"","工作包":"","二次送机":"","二送状态":"",
  21. "进出港航班号":flightno,"附加工作状态":"","进出港城市":"","APU型号":"","发动机":eng,"机型":actype,"机型综合信息":"","详细机型":"",
  22. "高高原":"","上段起飞时间":datetime.datetime.now(),"后续类型":"","后续预计起飞":"","航班来源":"人工添加","备降返航":"",
  23. "取消标志":"","备1":"","备2":"","备3":"","备4":"","备5":"","备6":"","备7":"","备8":"","备9":"","备10":""}
  24. elif flighttype =="短停" or flighttype =="特后前":
  25. newdic={"航班编号": "%s" % flightid,"机号":acno,"航班日期":flightdate1,"航班类型":tasktype[flighttype],"非航前计划到达":"","航前预计起飞":ETD2,"非航前实际到达":eta,
  26. "实际起飞":"","非航前预计到达":eta,"预飞预达":"","非航前进港机位":bay,"航前离港机位":"","维修人员":"","放行人员":"","维修状态":"",
  27. "随机":"","保留":"","维修状态时间":"","工作包":"","二次送机":"","二送状态":"",
  28. "进出港航班号":flightno,"附加工作状态":"","进出港城市":"","APU型号":"","发动机":eng,"机型":actype,"机型综合信息":"","详细机型":"",
  29. "高高原":"","上段起飞时间":datetime.datetime.now(),"后续类型":"","后续预计起飞":"","航班来源":"人工添加","备降返航":"",
  30. "取消标志":"","备1":"","备2":"","备3":"","备4":"","备5":"","备6":"","备7":"","备8":"","备9":"","备10":""}
  31. else:
  32. newdic={"航班编号": "%s" % flightid,"机号":acno,"航班日期":flightdate1,"航班类型":tasktype[flighttype],"非航前计划到达":"","航前预计起飞":"","非航前实际到达":eta,
  33. "实际起飞":"","非航前预计到达":eta,"预飞预达":"","非航前进港机位":bay,"航前离港机位":"","维修人员":"","放行人员":"","维修状态":"",
  34. "随机":"","保留":"","维修状态时间":"","工作包":"","二次送机":"","二送状态":"",
  35. "进出港航班号":flightno,"附加工作状态":"","进出港城市":"","APU型号":"","发动机":eng,"机型":actype,"机型综合信息":"","详细机型":"",
  36. "高高原":"","上段起飞时间":datetime.datetime.now(),"后续类型":"","后续预计起飞":"","航班来源":"人工添加","备降返航":"",
  37. "取消标志":"","备1":"","备2":"","备3":"","备4":"","备5":"","备6":"","备7":"","备8":"","备9":"","备10":""}
  38. fdb.insertData("TaskFlightinfo%s"%flightdate2,newdic)
  39. else:
  40. if flighttype =="航前":
  41. newdic={"航班编号":"'%s'"%flightid,"机号":"'%s'"%acno,"发动机":"'%s'"%eng, "机型":"'%s'"%actype, "进出港航班号":"'%s'"%flightno, "航班日期":"'%s'"%flightdate1,"航班类型":"'%s'"%tasktype[flighttype], "航前预计起飞":"'%s'"%etd, "航前离港机位":"'%s'"%bay}
  42. elif flighttype =="短停" or flighttype =="特后前":
  43. newdic = {"航班编号": "'%s'" % flightid, "机号":"'%s'"% acno, "发动机":"'%s'"% eng, "机型":"'%s'"% actype, "进出港航班号":"'%s'"% flightno , "航班日期":"'%s'"% flightdate1, "航班类型":"'%s'"% tasktype[flighttype],"非航前预计到达":"'%s'"% eta,"非航前实际到达": "'%s'"% eta, "上段起飞时间": "'%s'"% eta, "航前预计起飞":"'%s'"% ETD2, "非航前进港机位":"'%s'"% bay}
  44. else:
  45. newdic = {"航班编号": "'%s'" % flightid,"机号":"'%s'"% acno, "发动机":"'%s'"% eng, "机型":"'%s'"% actype, "进出港航班号":"'%s'"% flightno, "航班日期":"'%s'"% flightdate1, "航班类型":"'%s'"% tasktype[flighttype], "非航前预计到达":"'%s'"% eta,"上段起飞时间": "'%s'"% eta, "非航前进港机位":"'%s'"% bay}
  46. fdb.upDateItem("TaskFlightinfo%s"%flightdate2,newdic,"航班编号='%s'"%flightid)
  47. sortFlighttime(flightDB(host=host,
  48. port=port,
  49. user=user1,
  50. password=password,
  51. database=databaseflightDB4
  52. ))
  53. sortFlighttime2(flightDB(host=host,
  54. port=port,
  55. user=user1,
  56. password=password,
  57. database=databaseflightDB4
  58. ))
  59. res={"返回值":"ok"}
  60. return res