checkWorkerlaod.py 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363
  1. from .flightDB import flightDB
  2. import datetime
  3. from unitls.LogerinTxt import app_logger
  4. import unitls.baseFunction as baseFunction
  5. from unitls.StaticDataclass import get_dic
  6. def checkWorkerlaod(database:flightDB, workload:flightDB,nowDayStr1,nowDay_11):
  7. try:
  8. #需要初始化表格
  9. nowDay = datetime.datetime.now().strftime("%Y%m%d")
  10. nowDay_1 = (datetime.date.today() - datetime.timedelta(days=1)).strftime("%Y%m%d")
  11. day=[nowDay_1,nowDay]
  12. nowDayStr_search = datetime.date.today().strftime("%Y-%m-%d %H:%M:%S")
  13. #nowDayStr_search=datetime.datetime.strptime(str("2023-06-11 00:00:00"),"%Y-%m-%d %H:%M:%S")
  14. yesterday_search = (datetime.date.today() - datetime.timedelta(days=1)).strftime("%Y-%m-%d %H:%M:%S")
  15. workernames_arr=[]
  16. workernames1=database.queryTabel('pglist%s'%nowDayStr1,"*","姓名!=''")
  17. workernames2=database.queryTabel('pglist%s' % nowDay_11, "*", "姓名!=''")
  18. if workernames1 and len(workernames1) != 0:
  19. for i in workernames1:
  20. workernames_arr.append(i[0])
  21. if workernames2 and len(workernames2) != 0:
  22. for i in workernames2:
  23. workernames_arr.append(i[0])
  24. for worker in workernames_arr:
  25. if workernames1 and len(workernames1)!= 0:
  26. worker_number = baseFunction.TuplefindInList3(workernames1, worker, 0,1)
  27. else:
  28. worker_number = baseFunction.TuplefindInList3(workernames2, worker, 0,1)
  29. # worker_number = a if len(a) !=0 else ""
  30. single_worker_load_ids = workload.queryTabel('workload%s' % worker_number, "*", "编号!=''")
  31. single_worker_load_ids_arr = []
  32. if single_worker_load_ids and len(single_worker_load_ids) != 0:
  33. for l in single_worker_load_ids:
  34. single_worker_load_ids_arr.append(l[0])
  35. for nowDayStr in day:
  36. worker_laod_ids=database.queryTabel('TaskFlightinfo{}'.format(nowDayStr), '*', "维修人员 like '%{}%'".format(worker))
  37. worker_laod_ids_arr = []
  38. if worker_laod_ids and len(worker_laod_ids)!= 0:
  39. for j in worker_laod_ids:
  40. worker_laod_ids_arr.append(j[0])
  41. if worker_laod_ids_arr and len(worker_laod_ids_arr) != 0:
  42. for k in worker_laod_ids_arr:
  43. TYPE = get_dic('taskType')[baseFunction.TuplefindInList3(worker_laod_ids, k, 0,3)]
  44. acno = baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 1)
  45. bay = baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 10)
  46. bay1= baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 11)
  47. flight_id = k
  48. flight_id_1=str(str(flight_id))+str("-1") #接机保障标志
  49. flight_id_2 = str(str(flight_id)) + str("-2") # 接机保障标志
  50. flight_date = baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 2)
  51. if TYPE == "短停" and baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 8) != "":
  52. eta_str=baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 8)
  53. starttime = datetime.datetime.strptime(eta_str, "%Y-%m-%d %H:%M:%S") - datetime.timedelta(minutes=15)
  54. endtime=baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 6)
  55. if flight_id_1 in single_worker_load_ids_arr:
  56. newdic = {"机号": "'%s'"%acno, "机位": "'%s'"%bay, "开始时间": "'%s'"%starttime, "结束时间": "'%s'"%endtime,"航班类型": "'%s'"%TYPE}
  57. workload.lazyUpdateItem('workload%s'%worker_number,newdic,"编号='{}'".format(flight_id_1))
  58. else:
  59. newdic = {"编号":"%s"%flight_id_1,"机号": "%s" % acno, "机位": "%s" % bay, "航班编号": "%s" % flight_id, "开始时间": "%s" % starttime,
  60. "结束时间": "%s" % endtime, "保障日期": "%s" % flight_date, "航班类型": "%s" % TYPE,"人员状态":""}
  61. workload.lazyInsertData('workload%s'%worker_number, newdic)
  62. elif TYPE == '航前' and baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 5) != "":
  63. endtime_ap = baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 7)
  64. STD_ap=baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 5)
  65. starttime_ap = datetime.datetime.strptime(STD_ap, "%Y-%m-%d %H:%M:%S")-datetime.timedelta(minutes=90)
  66. if flight_id_1 in single_worker_load_ids_arr:
  67. newdic = {"机号": "'%s'"%acno, "机位": "'%s'"%bay1, "开始时间": "'%s'"%starttime_ap, "结束时间": "'%s'"%endtime_ap, "航班类型": "'%s'"%TYPE}
  68. workload.lazyUpdateItem('workload%s'%worker_number,newdic,"编号='%s'"%flight_id_1)
  69. else:
  70. newdic = {"编号":"%s"%flight_id_1,"机号": "%s" % acno, "机位": "%s"%bay1, "航班编号": "%s" % flight_id, "开始时间": "%s" % starttime_ap,
  71. "结束时间": "%s" % endtime_ap, "保障日期": "%s" % flight_date, "航班类型": "%s" % TYPE,"人员状态":""}
  72. workload.lazyInsertData('workload%s'%worker_number, newdic)
  73. elif TYPE == '航后' and baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 8) != "":
  74. eta_str = baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 8)
  75. starttime = datetime.datetime.strptime(eta_str, "%Y-%m-%d %H:%M:%S") - datetime.timedelta(minutes=15)
  76. if str(baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 14)) == "8":
  77. endtime =baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 17)
  78. else:
  79. endtime=""
  80. if flight_id_1 in single_worker_load_ids_arr:
  81. newdic = {"机号": "'%s'" % acno, "机位": "'%s'" % bay, "开始时间": "'%s'" % starttime,
  82. "结束时间": "'%s'" % endtime, "航班类型": "'%s'" % TYPE}
  83. workload.lazyUpdateItem('workload%s' % worker_number, newdic, "编号='{}'".format(flight_id_1))
  84. else:
  85. newdic = {"编号": "%s" % flight_id_1, "机号": "%s" % acno, "机位": "%s" % bay,
  86. "航班编号": "%s" % flight_id, "开始时间": "%s" % starttime,
  87. "结束时间": "%s" % endtime, "保障日期": "%s" % flight_date, "航班类型": "%s" % TYPE, "人员状态": ""}
  88. workload.lazyInsertData('workload%s' % worker_number, newdic)
  89. elif TYPE == "特后前" and baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 8) != "":
  90. eta_str=baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 8)
  91. starttime = datetime.datetime.strptime(eta_str, "%Y-%m-%d %H:%M:%S") - datetime.timedelta(minutes=15)
  92. if baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 7) != "" :
  93. endtime_str = baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 7)
  94. endtime = datetime.datetime.strptime(endtime_str, "%Y-%m-%d %H:%M:%S")
  95. else:
  96. endtime = ""
  97. if flight_id_1 in single_worker_load_ids_arr:
  98. newdic = {"机号": "'%s'"%acno, "机位": "'%s'"%bay, "开始时间": "'%s'"%starttime, "结束时间": "'%s'"%endtime,"航班类型": "'%s'"%TYPE}
  99. workload.lazyUpdateItem('workload%s'%worker_number,newdic,"编号='{}'".format(flight_id_1))
  100. else:
  101. newdic = {"编号":"%s"%flight_id_1,"机号": "%s" % acno, "机位": "%s" % bay, "航班编号": "%s" % flight_id, "开始时间": "%s" % starttime,
  102. "结束时间": "%s" % endtime, "保障日期": "%s" % flight_date, "航班类型": "%s" % TYPE,"人员状态":""}
  103. workload.lazyInsertData('workload%s'%worker_number, newdic)
  104. #if len(database.queryTabel('pglist%s' % nowDayStr1, '工号', "姓名 ='%s'" % worker)) != 0:
  105. # worker_number = database.queryTabel('pglist%s' % nowDayStr1, '工号', "姓名 ='%s'" % worker)[0]
  106. #else:
  107. # worker_number = database.queryTabel('pglist%s' % nowDay_11, '工号', "姓名 ='%s'" % worker)[0]
  108. single_worker_load_ids = workload.getSingledata('编号', 'workload%s' % worker_number)
  109. single_worker_load_ids_arr = []
  110. if single_worker_load_ids and len(single_worker_load_ids) != 0:
  111. for l in single_worker_load_ids:
  112. single_worker_load_ids_arr.append(l[0])
  113. FX_laod_ids = database.queryTabel('TaskFlightinfo{}'.format(nowDayStr), '航班编号', "放行人员 like '%{}%'".format(worker))
  114. FX_laod_ids_arr = []
  115. if FX_laod_ids and len(FX_laod_ids) != 0:
  116. for j in FX_laod_ids:
  117. FX_laod_ids_arr.append(j[0])
  118. if FX_laod_ids_arr and len(FX_laod_ids_arr) != 0:
  119. for k in FX_laod_ids_arr:
  120. TYPE = get_dic('taskType')[baseFunction.TuplefindInList3(worker_laod_ids, k, 0,3)]
  121. acno = baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 1)
  122. bay = baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 10)
  123. bay1= baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 11)
  124. flight_id = k
  125. flight_id_1=str(str(flight_id))+str("-1") #接机保障标志
  126. flight_id_2 = str(str(flight_id)) + str("-2") # 接机保障标志
  127. flight_date = baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 2)
  128. if TYPE == "短停" and baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 8) != "":
  129. eta_str=baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 8)
  130. starttime = datetime.datetime.strptime(eta_str, "%Y-%m-%d %H:%M:%S") - datetime.timedelta(minutes=15)
  131. if int(baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 14)) >= 7:
  132. endtime = baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 15)
  133. else:
  134. endtime = ""
  135. if flight_id_1 in single_worker_load_ids_arr:
  136. if workload.queryTabel('workload%s' % worker_number, '结束时间', "编号 ='%s'"%flight_id_1)[0][0] =="":
  137. newdic = {"机号": "'%s'"%acno, "机位": "'%s'"%bay, "开始时间": "'%s'"%starttime, "结束时间": "'%s'"%endtime,"航班类型": "'%s'"%TYPE}
  138. workload.lazyUpdateItem('workload%s'%worker_number,newdic,"编号='{}'".format(flight_id_1))
  139. else:
  140. newdic = {"编号":"%s"%flight_id_1,"机号": "%s" % acno, "机位": "%s" % bay, "航班编号": "%s" % flight_id, "开始时间": "%s" % starttime,
  141. "结束时间": "%s" % endtime, "保障日期": "%s" % flight_date, "航班类型": "%s" % TYPE,"人员状态":""}
  142. workload.lazyInsertData('workload%s'%worker_number, newdic)
  143. elif TYPE == '航前' and baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 5) != "":
  144. if int(baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 14)) >= 7:
  145. endtime_ap = baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 15)
  146. else:
  147. endtime_ap = ""
  148. STD_ap=baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 5)
  149. starttime_ap = datetime.datetime.strptime(STD_ap, "%Y-%m-%d %H:%M:%S")-datetime.timedelta(minutes=90)
  150. if flight_id_1 in single_worker_load_ids_arr:
  151. if workload.queryTabel('workload%s' % worker_number, '结束时间', "编号 ='%s'" % flight_id_1)[0][0] == "":
  152. newdic = {"机号": "'%s'"%acno, "机位": "'%s'"%bay1, "开始时间": "'%s'"%starttime_ap, "结束时间": "'%s'"%endtime_ap, "航班类型": "'%s'"%TYPE}
  153. workload.lazyUpdateItem('workload%s'%worker_number,newdic,"编号='%s'"%flight_id_1)
  154. else:
  155. newdic = {"编号":"%s"%flight_id_1,"机号": "%s" % acno, "机位": "%s"%bay1, "航班编号": "%s" % flight_id, "开始时间": "%s" % starttime_ap,
  156. "结束时间": "%s" % endtime_ap, "保障日期": "%s" % flight_date, "航班类型": "%s" % TYPE,"人员状态":""}
  157. workload.lazyInsertData('workload%s'%worker_number, newdic)
  158. elif TYPE == '航后' and baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 8) != "":
  159. eta_str = baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 8)
  160. starttime = datetime.datetime.strptime(eta_str, "%Y-%m-%d %H:%M:%S") - datetime.timedelta(minutes=15)
  161. if int(baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 14)) >= 8:
  162. endtime = baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 15)
  163. else:
  164. endtime=""
  165. if flight_id_1 in single_worker_load_ids_arr:
  166. if workload.queryTabel('workload%s' % worker_number, '结束时间', "编号 ='%s'" % flight_id_1)[0][0] == "":
  167. newdic = {"机号": "'%s'" % acno, "机位": "'%s'" % bay, "开始时间": "'%s'" % starttime,
  168. "结束时间": "'%s'" % endtime, "航班类型": "'%s'" % TYPE}
  169. workload.lazyUpdateItem('workload%s' % worker_number, newdic, "编号='{}'".format(flight_id_1))
  170. else:
  171. newdic = {"编号": "%s" % flight_id_1, "机号": "%s" % acno, "机位": "%s" % bay,
  172. "航班编号": "%s" % flight_id, "开始时间": "%s" % starttime,
  173. "结束时间": "%s" % endtime, "保障日期": "%s" % flight_date, "航班类型": "%s" % TYPE, "人员状态": ""}
  174. workload.lazyInsertData('workload%s' % worker_number, newdic)
  175. elif TYPE == "特后前" and baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 8) != "":
  176. eta_str=baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 8)
  177. starttime = datetime.datetime.strptime(eta_str, "%Y-%m-%d %H:%M:%S") - datetime.timedelta(minutes=15)
  178. if baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 7) !="":
  179. #print(flight_date)
  180. #print(endtime_str)
  181. endtime_str = baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 7)
  182. endtime = datetime.datetime.strptime(endtime_str, "%Y-%m-%d %H:%M:%S")
  183. else:
  184. endtime = ""
  185. if flight_id_1 in single_worker_load_ids_arr:
  186. newdic = {"机号": "'%s'"%acno, "机位": "'%s'"%bay, "开始时间": "'%s'"%starttime, "结束时间": "'%s'"%endtime,"航班类型": "'%s'"%TYPE}
  187. workload.lazyUpdateItem('workload%s'%worker_number,newdic,"编号='{}'".format(flight_id_1))
  188. else:
  189. newdic = {"编号":"%s"%flight_id_1,"机号": "%s" % acno, "机位": "%s" % bay, "航班编号": "%s" % flight_id, "开始时间": "%s" % starttime,
  190. "结束时间": "%s" % endtime, "保障日期": "%s" % flight_date, "航班类型": "%s" % TYPE,"人员状态":""}
  191. workload.lazyInsertData('workload%s'%worker_number, newdic)
  192. #if len(database.queryTabel('pglist%s' % nowDayStr1, '工号', "姓名 ='%s'" % worker)) != 0:
  193. # worker_number = database.queryTabel('pglist%s' % nowDayStr1, '工号', "姓名 ='%s'" % worker)[0]
  194. #else:
  195. # worker_number = database.queryTabel('pglist%s' % nowDay_11, '工号', "姓名 ='%s'" % worker)[0]
  196. single_worker_load_ids = workload.getSingledata('编号', 'workload%s' % worker_number)
  197. single_worker_load_ids_arr = []
  198. if single_worker_load_ids and len(single_worker_load_ids) != 0:
  199. for l in single_worker_load_ids:
  200. single_worker_load_ids_arr.append(l[0])
  201. ECCJ_laod_ids = database.queryTabel('TaskFlightinfo{}'.format(nowDayStr), '航班编号', "二次送机 like '%{}%'".format(worker))
  202. ECSJ_laod_ids_arr = []
  203. if ECCJ_laod_ids and len(ECCJ_laod_ids) != 0:
  204. for j in ECCJ_laod_ids:
  205. ECSJ_laod_ids_arr.append(j[0])
  206. if ECSJ_laod_ids_arr and len(ECSJ_laod_ids_arr) != 0:
  207. for k in ECSJ_laod_ids_arr:
  208. TYPE = get_dic('taskType')[baseFunction.TuplefindInList3(worker_laod_ids, k, 0,3)]
  209. acno = baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 1)
  210. bay = baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 10)
  211. bay1= baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 11)
  212. flight_id = k
  213. flight_id_1=str(str(flight_id))+str("-1") #接机保障标志
  214. flight_id_2 = str(str(flight_id)) + str("-2") # 接机保障标志
  215. flight_date = baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 2)
  216. if TYPE == "短停" and baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 5) != "":
  217. if baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 7) =="" :
  218. starttime_str = baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 5)
  219. starttime = datetime.datetime.strptime(starttime_str, "%Y-%m-%d %H:%M:%S")-datetime.timedelta(minutes=25)
  220. if flight_id_2 in single_worker_load_ids_arr:
  221. newdic = {"机号": "'%s'" % acno, "机位": "'%s'" % bay, "开始时间": "'%s'" % starttime, "航班类型": "'%s'" % TYPE}
  222. workload.lazyUpdateItem('workload%s' % worker_number, newdic, "编号='{}'".format(flight_id_2))
  223. else:
  224. newdic = {"编号": "%s" % flight_id_2, "机号": "%s" % acno, "机位": "%s" % bay,
  225. "航班编号": "%s" % flight_id, "开始时间": "%s" % starttime,
  226. "结束时间": "" , "保障日期": "%s" % flight_date, "航班类型": "%s" % TYPE,
  227. "人员状态": ""}
  228. workload.lazyInsertData('workload%s' % worker_number, newdic)
  229. if baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 7) !="" :
  230. endtime_str = baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 7)
  231. endtime = datetime.datetime.strptime(endtime_str, "%Y-%m-%d %H:%M:%S")
  232. starttime = datetime.datetime.strptime(endtime_str, "%Y-%m-%d %H:%M:%S")- datetime.timedelta(minutes=25)
  233. if flight_id_2 in single_worker_load_ids_arr:
  234. if workload.queryTabel('workload%s' % worker_number, "开始时间", "编号='{}'".format(flight_id_2))[0][0] != "":
  235. newdic = {"机号": "'%s'" % acno, "机位": "'%s'" % bay, "结束时间": "'%s'" % endtime, "航班类型": "'%s'" % TYPE}
  236. workload.lazyUpdateItem('workload%s' % worker_number, newdic, "编号='{}'".format(flight_id_2))
  237. else:
  238. newdic = {"机号": "'%s'" % acno, "机位": "'%s'" % bay,"开始时间": "'%s'" % starttime, "结束时间": "'%s'" % endtime, "航班类型": "'%s'" % TYPE}
  239. workload.lazyUpdateItem('workload%s' % worker_number, newdic, "编号='{}'".format(flight_id_2))
  240. else:
  241. newdic = {"编号": "%s" % flight_id_2, "机号": "%s" % acno, "机位": "%s" % bay,
  242. "航班编号": "%s" % flight_id, "开始时间": "%s" % starttime,
  243. "结束时间": "%s"%endtime, "保障日期": "%s" % flight_date, "航班类型": "%s" % TYPE,
  244. "人员状态": ""}
  245. workload.lazyInsertData('workload%s' % worker_number, newdic)
  246. if TYPE == "特后前" and baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 5) != "":
  247. if baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 7) =="":
  248. starttime_str = baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 5)
  249. starttime = datetime.datetime.strptime(starttime_str, "%Y-%m-%d %H:%M:%S")-datetime.timedelta(minutes=25)
  250. if flight_id_2 in single_worker_load_ids_arr:
  251. newdic = {"机号": "'%s'" % acno, "机位": "'%s'" % bay, "开始时间": "'%s'" % starttime, "航班类型": "'%s'" % TYPE}
  252. workload.lazyUpdateItem('workload%s' % worker_number, newdic, "编号='{}'".format(flight_id_2))
  253. else:
  254. newdic = {"编号": "%s" % flight_id_2, "机号": "%s" % acno, "机位": "%s" % bay,
  255. "航班编号": "%s" % flight_id, "开始时间": "%s" % starttime,
  256. "结束时间": "" , "保障日期": "%s" % flight_date, "航班类型": "%s" % TYPE,
  257. "人员状态": ""}
  258. workload.lazyInsertData('workload%s' % worker_number, newdic)
  259. if baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 7) !="":
  260. endtime_str = baseFunction.TuplefindInList3(worker_laod_ids, k, 0, 7)
  261. endtime = datetime.datetime.strptime(endtime_str, "%Y-%m-%d %H:%M:%S")
  262. starttime = datetime.datetime.strptime(endtime_str, "%Y-%m-%d %H:%M:%S") - datetime.timedelta(minutes=25)
  263. if flight_id_2 in single_worker_load_ids_arr:
  264. if workload.queryTabel('workload%s' % worker_number, "开始时间", "编号='{}'".format(flight_id_2))[0][0] != "":
  265. newdic = {"机号": "'%s'" % acno, "机位": "'%s'" % bay, "结束时间": "'%s'" % endtime, "航班类型": "'%s'" % TYPE}
  266. workload.lazyUpdateItem('workload%s' % worker_number, newdic, "编号='{}'".format(flight_id_2))
  267. else:
  268. newdic = {"机号": "'%s'" % acno, "机位": "'%s'" % bay,"开始时间": "'%s'" % starttime, "结束时间": "'%s'" % endtime, "航班类型": "'%s'" % TYPE}
  269. workload.lazyUpdateItem('workload%s' % worker_number, newdic, "编号='{}'".format(flight_id_2))
  270. else:
  271. newdic = {"编号": "%s" % flight_id_2, "机号": "%s" % acno, "机位": "%s" % bay,
  272. "航班编号": "%s" % flight_id, "开始时间": "%s" % starttime,
  273. "结束时间": "%s"%endtime, "保障日期": "%s" % flight_date, "航班类型": "%s" % TYPE,
  274. "人员状态": ""}
  275. workload.lazyInsertData('workload%s' % worker_number, newdic)
  276. single_worker_load_twoday_ids = workload.queryTabel('workload%s' % worker_number, '编号',"保障日期='{}'or 保障日期='{}'".format(nowDayStr_search,yesterday_search))
  277. single_worker_load_twoday_ids_arr = []
  278. if single_worker_load_twoday_ids and len(single_worker_load_twoday_ids) != 0:
  279. for ll in single_worker_load_twoday_ids:
  280. single_worker_load_twoday_ids_arr.append(ll[0])
  281. worker_laod_ids = database.queryTabel('TaskFlightinfo{}'.format(nowDay), '航班编号',"维修人员 like '%{}%'".format(worker))
  282. worker_laod_ids_twoday_arr = [] # 两天的量
  283. if worker_laod_ids and len(worker_laod_ids) != 0:
  284. for j in worker_laod_ids:
  285. worker_laod_ids_twoday_arr.append(j[0])
  286. worker_laod_ids_yesterday = database.queryTabel('TaskFlightinfo{}'.format(nowDay_1), '航班编号',"维修人员 like '%{}%'".format(worker))
  287. if worker_laod_ids_yesterday and len(worker_laod_ids_yesterday) != 0:
  288. for m in worker_laod_ids_yesterday:
  289. worker_laod_ids_twoday_arr.append(m[0])
  290. FX_laod_ids = database.queryTabel('TaskFlightinfo{}'.format(nowDay), '航班编号', "放行人员 like '%{}%'".format(worker))
  291. if FX_laod_ids and len(FX_laod_ids) != 0:
  292. for j in FX_laod_ids:
  293. worker_laod_ids_twoday_arr.append(j[0])
  294. FX_laod_ids_yesterday = database.queryTabel('TaskFlightinfo{}'.format(nowDay_1), '航班编号',"放行人员 like '%{}%'".format(worker))
  295. if FX_laod_ids_yesterday and len(FX_laod_ids_yesterday) != 0:
  296. for m in FX_laod_ids_yesterday:
  297. worker_laod_ids_twoday_arr.append(m[0])
  298. ECSJ_laod_ids = database.queryTabel('TaskFlightinfo{}'.format(nowDay), '航班编号', "二次送机 like '%{}%'".format(worker))
  299. if ECSJ_laod_ids and len(ECSJ_laod_ids) != 0:
  300. for j in ECSJ_laod_ids:
  301. worker_laod_ids_twoday_arr.append(j[0])
  302. #暂无昨日table,待完善后启用两日查询
  303. ECCJ_laod_ids_yesterday = database.queryTabel('TaskFlightinfo{}'.format(nowDay_1), '航班编号',"二次送机 like '%{}%'".format(worker))
  304. if ECCJ_laod_ids_yesterday and len(ECCJ_laod_ids_yesterday) != 0:
  305. for m in ECCJ_laod_ids_yesterday:
  306. worker_laod_ids_twoday_arr.append(m[0])
  307. for kk in single_worker_load_twoday_ids_arr:
  308. if str(str(kk)[:-2]) not in str(worker_laod_ids_twoday_arr):
  309. workload.deleteSingledata('workload%s' % worker_number, "编号='{}'".format(kk))
  310. workload.FunctionCommit()
  311. except Exception as e:
  312. app_logger.log_error(e)