DisplayQTMain.py 53 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972
  1. import datetime
  2. import sys
  3. from PyQt6 import QtCore
  4. from PyQt6.QtCore import Qt, QThread,QObject,QThreadPool, QTimer
  5. from PyQt6.QtGui import QColor, QFont
  6. from PyQt6.QtTextToSpeech import QTextToSpeech
  7. from PyQt6.QtWidgets import QApplication, QWidget, QMessageBox, QTableWidgetItem, QAbstractItemView
  8. import requests
  9. from UI.main22 import Ui_Form
  10. from Functions.QtFunctions.LogerinTxt import app_logger
  11. from Functions.QtFunctions import findServerWidget as FindServerWidget
  12. from Functions.QtFunctions import LoginWidget_display as loginWidget
  13. headerlabel0= ["序号","数据序号","备","机号","航班信息","机型","机型信息","发动机","机位","航班号","备","计达","备","预达",
  14. "备","计飞","备","备","机位","类型","备","放行","备","工1","备","工2","备","工3","备","工4",
  15. "备","班组长","备","到位","备","放行","备","销夹","电签","随机","备","随机","备","保留","备","工作包",
  16. "备","进出港城市","备","维修人员","交班人员","放行","备","航班编号","备","任务编号","备","TATD","备","类型",
  17. "备","附加消息","备","备","备","备"]
  18. headerlabel_B=["序号", "机号", "机型", "发动机", "航班号", "计达", "预达", "计飞", "机位", "类型", "工作单", "飞单", "客舱单",
  19. "临工单","AMRO记录", "电签复查", "接机电签", "任务电签", "二送电签", "备", "备", "备", "备", "备", "进出港城市",
  20. "维修人员", "二送人员","放行", "航班编号", "电签工卡", "备", "类型", "附加消息"]
  21. versionNumb= "20.0.0"
  22. class sortdisplaySever(QObject):
  23. sortupdate = QtCore.pyqtSignal(str, dict, list, str, str)
  24. def __init__(self, name, ip, selectedtime, text, displayMode, selectedbc, displayselect, thread):
  25. super().__init__()
  26. self.funcName = name
  27. self.ipinfo = ip
  28. self.selectedtime = selectedtime
  29. self.text = text
  30. self.displayMode = displayMode
  31. self.selectedbc = selectedbc
  32. self.displayselect_mode = displayselect
  33. self.thread = thread
  34. nowDay = datetime.datetime.now().strftime("%Y%m%d")
  35. tomorr =(datetime.date.today() + datetime.timedelta(days=1)).strftime("%Y%m%d")
  36. yester =(datetime.date.today() - datetime.timedelta(days=1)).strftime("%Y%m%d")
  37. if self.selectedtime == nowDay:
  38. self.date = "2"
  39. elif self.selectedtime == tomorr:
  40. self.date = "3"
  41. elif self.selectedtime == yester:
  42. self.date = "1"
  43. else:
  44. self.date = "4"
  45. def run(self):
  46. try:
  47. list = []
  48. if self.funcName == "sortTableWidgetDispaly":
  49. #print("1")
  50. self.sortTableWidgetDispaly()
  51. self.sortupdate.emit("sortTableWidgetDispaly", self.sorttableWidgetDispalydata, list, self.seversts,self.displayMode)
  52. self.sortupdate.emit("sortTableWidgetDispalyALL", self.DispalydataAll, list, self.seversts,self.displayMode)
  53. if self.funcName == "sortTableWidgetDispalyALL":
  54. #print("2")
  55. self.sortTableWidgetDispalyALL()
  56. self.sortupdate.emit("sortTableWidgetDispalyALL", self.sorttableWidgetDispalydata, list, self.seversts,self.displayMode)
  57. elif self.funcName == "SearchsortTableWidgetDispaly":
  58. #print("3")
  59. self.SearchsortTableWidgetDispaly()
  60. self.sortupdate.emit("SearchsortTableWidgetDispaly", self.sorttableWidgetDispalydata, list,self.seversts,self.displayMode)
  61. elif self.funcName == "sorttableWidgetDisplayChange":
  62. #print("4")
  63. self.sorttableWidgetDisplayChange()
  64. self.sortupdate.emit("sorttableWidgetDisplayChange", self.sortlogchange, list, self.seversts,self.displayMode)
  65. elif self.funcName == "sorttableWidgetPeopleDisplay":
  66. self.sorttableWidgetPeopleDisplay()
  67. self.sortupdate.emit("sorttableWidgetPeopleDisplay", self.sortdiplaylist, self.peopleOnJob,self.seversts, self.displayMode)
  68. elif self.funcName == "sorttableWidgetLOGDispaly":
  69. self.sorttableWidgetLOGDispaly()
  70. self.sortupdate.emit("sorttableWidgetLOGDispaly", self.sortlog, list, self.seversts, self.displayMode)
  71. elif self.funcName == "sorttableWidgetPHONEDispaly":
  72. self.sorttableWidgetPHONEDispaly()
  73. self.sortupdate.emit("sorttableWidgetPHONEDispaly", self.sorttableWidgetPHONEDispalydata, list,self.seversts, "")
  74. self.thread.quit()
  75. except Exception as e:
  76. app_logger.log_error(e)
  77. self.thread.quit()
  78. def severpost_nomeassge(self, postname, postdata, postdata2, postdata3):
  79. try:
  80. ip = "http://" + str(self.ipinfo) + "/static/" + str(postname) + str(postdata) + str(postdata2) + str(postdata3)
  81. try:
  82. res = requests.get(url=ip, timeout=30).json()
  83. self.seversts = "1"
  84. return res
  85. except Exception as e:
  86. app_logger.log_error(e)
  87. app_logger.log_error("重大bug")
  88. app_logger.log_error(ip)
  89. self.seversts = "0"
  90. return []
  91. except Exception as e:
  92. app_logger.log_error(e)
  93. def sorttableWidgetPHONEDispaly(self):
  94. try:
  95. sorttableWidgetPHONEDispalydataall = self.severpost_nomeassge("getphonelist", "", "", "")
  96. self.sorttableWidgetPHONEDispalydata = {}
  97. num = 0
  98. if sorttableWidgetPHONEDispalydataall != None:
  99. if self.text != "":
  100. for i in sorttableWidgetPHONEDispalydataall.keys():
  101. if str.lower(str(self.text)) in str(sorttableWidgetPHONEDispalydataall[i]):
  102. self.sorttableWidgetPHONEDispalydata[str(num)] = sorttableWidgetPHONEDispalydataall[i]
  103. num += 1
  104. else:
  105. self.sorttableWidgetPHONEDispalydata = sorttableWidgetPHONEDispalydataall
  106. except Exception as e:
  107. app_logger.log_error(e)
  108. def checkall(self, datas, text):
  109. res = {}
  110. try:
  111. num = 0
  112. for i in datas.keys():
  113. if datas[i]["109"] != text:
  114. res[str(num)] = datas[i]
  115. num += 1
  116. except Exception as e:
  117. app_logger.log_error(e)
  118. return res
  119. def checkStrsingle(self,datas, text, text2): #单一条件筛选
  120. res = {}
  121. try:
  122. num = 0
  123. for i in datas.keys():
  124. if str(text) in str(datas[i]) and datas[i]["109"] != text2:
  125. res[str(num)] = datas[i]
  126. num += 1
  127. except Exception as e:
  128. app_logger.log_error(e)
  129. return res
  130. def checkStrTerminalAll(self,datas, text1,text2,text3,text4): #筛选航站且显示全部
  131. res = {}
  132. try:
  133. num = 0
  134. for i in datas.keys():
  135. if str(datas[i]["8"]) != "" and datas[i]["109"] != text1:
  136. if str(datas[i]["8"])[0] == text2 and str(datas[i]["8"])[0] == text3:
  137. res[str(num)] = datas[i]
  138. num += 1
  139. elif str(datas[i]["8"]) == "" and str(datas[i]["109"]) == text4:
  140. res[str(num)] = datas[i]
  141. num += 1
  142. except Exception as e:
  143. app_logger.log_error(e)
  144. return res
  145. def checkStrTerminalAll2(self,datas, text1,text2,text3,text4): #筛选航站且显示全部
  146. res = {}
  147. try:
  148. num = 0
  149. for i in datas.keys():
  150. if str(datas[i]["8"]) != "" and datas[i]["109"] != text1:
  151. if str(datas[i]["8"])[0] != text2 and str(datas[i]["8"])[0] != text3:
  152. res[str(num)] = datas[i]
  153. num += 1
  154. elif str(datas[i]["8"]) == "" and str(datas[i]["109"]) == text4:
  155. res[str(num)] = datas[i]
  156. num += 1
  157. except Exception as e:
  158. app_logger.log_error(e)
  159. return res
  160. def checkStrTerminalAll3(self,datas, text1,text2,text3,text4): #筛选航站且显示全部
  161. res = {}
  162. try:
  163. num = 0
  164. for i in datas.keys():
  165. if str(datas[i]["8"]) != "" and datas[i]["109"] == text1:
  166. if str(datas[i]["8"])[0] == text2 and str(datas[i]["8"])[0] == text3:
  167. res[str(num)] = datas[i]
  168. num += 1
  169. elif str(datas[i]["8"]) == "" and str(datas[i]["109"]) == text4:
  170. res[str(num)] = datas[i]
  171. num += 1
  172. except Exception as e:
  173. app_logger.log_error(e)
  174. return res
  175. def checkStrTerminalAll4(self,datas, text1,text2,text3,text4): #筛选航站且显示全部
  176. res = {}
  177. try:
  178. num = 0
  179. for i in datas.keys():
  180. if str(datas[i]["8"]) != "" and datas[i]["109"] == text1:
  181. if str(datas[i]["8"])[0] != text2 and str(datas[i]["8"])[0] != text3:
  182. res[str(num)] = datas[i]
  183. num += 1
  184. elif str(datas[i]["8"]) == "" and str(datas[i]["109"]) == text4:
  185. res[str(num)] = datas[i]
  186. num += 1
  187. except Exception as e:
  188. app_logger.log_error(e)
  189. return res
  190. def sortTableWidgetDispaly(self):
  191. try:
  192. text = self.text
  193. Partdisplay = self.displayselect_mode # 不显示起飞航班
  194. # print(Partdisplay)
  195. tableWidgetDispalydataAll = {}
  196. if self.displayMode == "A" and (self.selectedbc == "0" or self.date=="4"):
  197. tableWidgetDispalydataAll = self.severpost_nomeassge("tableWidgetDispaly", "/%s" % self.selectedtime,"/%s"%self.date,"")
  198. elif self.displayMode == "B"and (self.selectedbc == "0" or self.date=="4"):
  199. tableWidgetDispalydataAll = self.severpost_nomeassge("tableWidgetDispaly2", "/%s" % self.selectedtime,"/%s"%self.date,"")
  200. elif self.displayMode == "A" and self.selectedbc == "1":
  201. tableWidgetDispalydataAll = self.severpost_nomeassge("tableWidgetDispalyRead","/%s"%self.date,"","")
  202. elif self.displayMode == "B"and self.selectedbc == "1":
  203. tableWidgetDispalydataAll = self.severpost_nomeassge("tableWidgetDispalyRead2","/%s"%self.date,"","")
  204. self.DispalydataAll=tableWidgetDispalydataAll
  205. self.sorttableWidgetDispalydata = {}
  206. num = 0
  207. if tableWidgetDispalydataAll != None:
  208. if text != "" and text != "T1" and text != "T2" and text != "T6" and text != "T2T6" and text != "T1T6" and Partdisplay == "0":
  209. self.sorttableWidgetDispalydata=self.checkStrsingle(tableWidgetDispalydataAll, text, "")
  210. elif text == "T1" and Partdisplay == "0":
  211. self.sorttableWidgetDispalydata = self.checkStrTerminalAll(tableWidgetDispalydataAll, "", "1", "1", "1")
  212. elif text == "T2" and Partdisplay == "0":
  213. self.sorttableWidgetDispalydata = self.checkStrTerminalAll(tableWidgetDispalydataAll, "", "2", "2", "2")
  214. elif text == "T2T6" and Partdisplay == "0":
  215. self.sorttableWidgetDispalydata = self.checkStrTerminalAll2(tableWidgetDispalydataAll, "", "1", "1", "1")
  216. elif text == "T1T6" and Partdisplay == "0":
  217. self.sorttableWidgetDispalydata = self.checkStrTerminalAll2(tableWidgetDispalydataAll, "", "2", "2", "1")
  218. elif text == "T6" and Partdisplay == "0":
  219. self.sorttableWidgetDispalydata = self.checkStrTerminalAll2(tableWidgetDispalydataAll, "", "1", "2", "1")
  220. elif text != "" and text != "T1" and text != "T2" and text != "T6" and text != "T2T6" and text != "T1T6" and Partdisplay == "1":
  221. self.sorttableWidgetDispalydata = self.checkStrsingle(tableWidgetDispalydataAll, text, "4")
  222. elif text == "T1" and Partdisplay == "1":
  223. self.sorttableWidgetDispalydata = self.checkStrTerminalAll(tableWidgetDispalydataAll, "4", "1", "1", "1")
  224. elif text == "T2" and Partdisplay == "1":
  225. self.sorttableWidgetDispalydata = self.checkStrTerminalAll(tableWidgetDispalydataAll, "4", "2", "2", "1")
  226. elif text == "T2T6" and Partdisplay == "1":
  227. self.sorttableWidgetDispalydata = self.checkStrTerminalAll2(tableWidgetDispalydataAll, "4", "1", "1", "1")
  228. elif text == "T1T6" and Partdisplay == "1":
  229. self.sorttableWidgetDispalydata = self.checkStrTerminalAll2(tableWidgetDispalydataAll, "4", "2", "2", "1")
  230. elif text == "T6" and Partdisplay == "1":
  231. self.sorttableWidgetDispalydata = self.checkStrTerminalAll2(tableWidgetDispalydataAll, "4", "1", "2", "1")
  232. elif text == "" and Partdisplay == "1":
  233. self.sorttableWidgetDispalydata = self.checkall(tableWidgetDispalydataAll, "4")
  234. elif text != "" and text != "T1" and text != "T2" and text != "T6" and text != "T2T6" and text != "T1T6" and Partdisplay == "3":
  235. self.sorttableWidgetDispalydata = self.checkStrsingle(tableWidgetDispalydataAll, text, "1")
  236. elif text == "T1" and Partdisplay == "3":
  237. self.sorttableWidgetDispalydata = self.checkStrTerminalAll3(tableWidgetDispalydataAll, "1", "1", "1", "1")
  238. elif text == "T2" and Partdisplay == "3":
  239. self.sorttableWidgetDispalydata = self.checkStrTerminalAll3(tableWidgetDispalydataAll, "1", "2", "2", "1")
  240. elif text == "T2T6" and Partdisplay == "3":
  241. self.sorttableWidgetDispalydata = self.checkStrTerminalAll4(tableWidgetDispalydataAll, "1", "1", "1", "1")
  242. elif text == "T1T6" and Partdisplay == "3":
  243. self.sorttableWidgetDispalydata = self.checkStrTerminalAll4(tableWidgetDispalydataAll, "1", "2", "2", "1")
  244. elif text == "T6" and Partdisplay == "3":
  245. self.sorttableWidgetDispalydata = self.checkStrTerminalAll4(tableWidgetDispalydataAll, "1", "1", "2", "1")
  246. elif text == "" and Partdisplay == "3":
  247. for i in tableWidgetDispalydataAll.keys():
  248. if tableWidgetDispalydataAll[i]["109"] == '1':
  249. self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
  250. num += 1
  251. else:
  252. self.sorttableWidgetDispalydata = tableWidgetDispalydataAll
  253. except Exception as e:
  254. app_logger.log_error(e)
  255. def sortTableWidgetDispalyALL(self):
  256. try:
  257. if self.displayMode == "A" and (self.selectedbc == "0" or self.date=="4"):
  258. self.sorttableWidgetDispalydata = self.severpost_nomeassge("tableWidgetDispaly", "/%s" % self.selectedtime,"/%s"%self.date,"")
  259. elif self.displayMode == "B"and (self.selectedbc == "0" or self.date=="4"):
  260. self.sorttableWidgetDispalydata = self.severpost_nomeassge("tableWidgetDispaly2", "/%s" % self.selectedtime,"/%s"%self.date,"")
  261. elif self.displayMode == "A" and self.selectedbc == "1":
  262. self.sorttableWidgetDispalydata = self.severpost_nomeassge("tableWidgetDispalyRead","/%s"%self.date,"","")
  263. elif self.displayMode == "B"and self.selectedbc == "1":
  264. self.sorttableWidgetDispalydata = self.severpost_nomeassge("tableWidgetDispalyRead2","/%s"%self.date,"","")
  265. except Exception as e:
  266. app_logger.log_error(e)
  267. def SearchsortTableWidgetDispaly(self):
  268. try:
  269. text = self.text
  270. self.seversts = "1"
  271. Partdisplay = self.displayselect_mode # 不显示起飞航班
  272. # print(Partdisplay)
  273. tableWidgetDispalydataAll = self.selectedbc
  274. self.sorttableWidgetDispalydata = {}
  275. num = 0
  276. if tableWidgetDispalydataAll != None:
  277. if text != "" and text != "T1" and text != "T2" and text != "T6" and text != "T2T6" and text != "T1T6"and Partdisplay == "0":
  278. self.sorttableWidgetDispalydata = self.checkStrsingle(tableWidgetDispalydataAll, text, "")
  279. elif text == "T1" and Partdisplay == "0":
  280. self.sorttableWidgetDispalydata = self.checkStrTerminalAll(tableWidgetDispalydataAll, "", "1", "1", "1")
  281. elif text == "T2" and Partdisplay == "0":
  282. self.sorttableWidgetDispalydata = self.checkStrTerminalAll(tableWidgetDispalydataAll, "", "2", "2", "1")
  283. elif text == "T2T6" and Partdisplay == "0":
  284. self.sorttableWidgetDispalydata = self.checkStrTerminalAll2(tableWidgetDispalydataAll, "", "1", "1", "1")
  285. elif text == "T1T6" and Partdisplay == "0":
  286. self.sorttableWidgetDispalydata = self.checkStrTerminalAll2(tableWidgetDispalydataAll, "", "2", "2", "1")
  287. elif text == "T6" and Partdisplay == "0":
  288. self.sorttableWidgetDispalydata = self.checkStrTerminalAll2(tableWidgetDispalydataAll, "", "1", "2", "1")
  289. elif text != "" and text != "T1" and text != "T2" and text != "T6" and text != "T2T6" and text != "T1T6" and Partdisplay == "1":
  290. self.sorttableWidgetDispalydata = self.checkStrsingle(tableWidgetDispalydataAll, text, "4")
  291. elif text == "T1" and Partdisplay == "1":
  292. self.sorttableWidgetDispalydata = self.checkStrTerminalAll(tableWidgetDispalydataAll, "4", "1", "1", "1")
  293. elif text == "T2" and Partdisplay == "1":
  294. self.sorttableWidgetDispalydata = self.checkStrTerminalAll(tableWidgetDispalydataAll, "4", "2", "2", "1")
  295. elif text == "T2T6" and Partdisplay == "1":
  296. self.sorttableWidgetDispalydata = self.checkStrTerminalAll2(tableWidgetDispalydataAll, "4", "1", "1", "1")
  297. elif text == "T1T6" and Partdisplay == "1":
  298. self.sorttableWidgetDispalydata = self.checkStrTerminalAll2(tableWidgetDispalydataAll, "4", "2", "2", "1")
  299. elif text == "T6" and Partdisplay == "1":
  300. self.sorttableWidgetDispalydata = self.checkStrTerminalAll2(tableWidgetDispalydataAll, "4", "1", "2", "1")
  301. elif text == "" and Partdisplay == "1":
  302. self.sorttableWidgetDispalydata = self.checkall(tableWidgetDispalydataAll, "4")
  303. elif text != "" and text != "T1" and text != "T2" and text != "T6" and text != "T2T6" and text != "T1T6" and Partdisplay == "3":
  304. for i in tableWidgetDispalydataAll.keys():
  305. if str(text) in str(tableWidgetDispalydataAll[i]) and tableWidgetDispalydataAll[i]["109"] == '1':
  306. self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
  307. num += 1
  308. elif text == "T1" and Partdisplay == "3":
  309. self.sorttableWidgetDispalydata = self.checkStrTerminalAll3(tableWidgetDispalydataAll, "1", "1", "1", "1")
  310. elif text == "T2" and Partdisplay == "3":
  311. self.sorttableWidgetDispalydata = self.checkStrTerminalAll3(tableWidgetDispalydataAll, "1", "2", "2", "1")
  312. elif text == "T2T6" and Partdisplay == "3":
  313. self.sorttableWidgetDispalydata = self.checkStrTerminalAll4(tableWidgetDispalydataAll, "1", "1", "1", "1")
  314. elif text == "T1T6" and Partdisplay == "3":
  315. self.sorttableWidgetDispalydata = self.checkStrTerminalAll4(tableWidgetDispalydataAll, "1", "2", "2", "1")
  316. elif text == "T6" and Partdisplay == "3":
  317. self.sorttableWidgetDispalydata = self.checkStrTerminalAll4(tableWidgetDispalydataAll, "1", "1", "2", "1")
  318. elif text == "" and Partdisplay == "3":
  319. for i in tableWidgetDispalydataAll.keys():
  320. if tableWidgetDispalydataAll[i]["109"] == '1':
  321. self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
  322. num += 1
  323. else:
  324. self.sorttableWidgetDispalydata = tableWidgetDispalydataAll
  325. except Exception as e:
  326. app_logger.log_error(e)
  327. def sorttableWidgetDisplayChange(self):
  328. try:
  329. text = self.text
  330. logall = self.severpost_nomeassge("tableWidgetDisplayChange", "/%s" % self.selectedtime, "", "")
  331. self.sortlogchange = {}
  332. num = 0
  333. if text != "":
  334. for i in logall.keys():
  335. if str(text) in str(logall[i]):
  336. self.sortlogchange[str(num)] = logall[i]
  337. num += 1
  338. else:
  339. self.sortlogchange = logall
  340. except Exception as e:
  341. app_logger.log_error(e)
  342. def sorttableWidgetPeopleDisplay(self):
  343. try:
  344. if self.displayselect_mode == "" or self.displayselect_mode == []:
  345. text = self.text
  346. self.peopleOnJob = [""]
  347. bc = self.selectedbc
  348. nowDaystr = self.selectedtime # 选择的日期
  349. diplaylistall = self.severpost_nomeassge("qtPeopleLoad", "/%s" % nowDaystr, "/%s" % bc, "")
  350. self.sortdiplaylist = {}
  351. num = 0
  352. if text != "":
  353. for i in diplaylistall.keys():
  354. if str(text) in str(diplaylistall[i]):
  355. self.sortdiplaylist[str(num)] = diplaylistall[i]
  356. num += 1
  357. else:
  358. self.sortdiplaylist = diplaylistall
  359. for i in self.sortdiplaylist.keys():
  360. self.peopleOnJob.append(self.sortdiplaylist[i]["姓名"])
  361. else:
  362. names = self.displayselect_mode
  363. text = self.text
  364. self.peopleOnJob = [""]
  365. bc = self.selectedbc
  366. nowDaystr = self.selectedtime # 选择的日期
  367. diplaylistall = self.severpost_nomeassge("qtPeopleLoad", "/%s" % nowDaystr, "/%s" % bc, "")
  368. self.sortdiplaylist = {}
  369. num = 0
  370. if text != "":
  371. for i in diplaylistall.keys():
  372. if str(text) in str(diplaylistall[i]):
  373. for name in names:
  374. if str(name) in str(diplaylistall[i]):
  375. self.sortdiplaylist[str(num)] = diplaylistall[i]
  376. num += 1
  377. else:
  378. for i in diplaylistall.keys():
  379. for name in names:
  380. if str(name) in str(diplaylistall[i]):
  381. self.sortdiplaylist[str(num)] = diplaylistall[i]
  382. num += 1
  383. for i in self.sortdiplaylist.keys():
  384. self.peopleOnJob.append(self.sortdiplaylist[i]["姓名"])
  385. except Exception as e:
  386. app_logger.log_error(e)
  387. def sorttableWidgetLOGDispaly(self):
  388. try:
  389. text = self.text
  390. logall = self.severpost_nomeassge("tableWidgetLOGDispaly", "/%s" % self.selectedtime, "", "")
  391. self.sortlog = {}
  392. num = 0
  393. if text != "":
  394. for i in logall.keys():
  395. if str(text) in str(logall[i]):
  396. self.sortlog[str(num)] = logall[i]
  397. num += 1
  398. else:
  399. self.sortlog = logall
  400. except Exception as e:
  401. app_logger.log_error(e)
  402. class MainWidget(QWidget, Ui_Form):
  403. LoginWidget_signal = QtCore.pyqtSignal(str)
  404. def __init__(self):
  405. super().__init__()
  406. try:
  407. self.displaySelectstr3 = "0"
  408. self.displaySelect_mode = "1"
  409. self.localip = None
  410. self.severupdatests = "0"
  411. self.localtoken = None
  412. self.searchpeoplestr = []
  413. self.sorttableWidgetDispalydata = {}
  414. self.sorttableWidgetDispalydataALL = {}
  415. self.sortdiplaylist = {}
  416. self.peopleOnJob = [""]
  417. self.loginSts = False
  418. self.amroLoginSts = False
  419. self.findSever = False
  420. self.FLIGHTonChange_text = ""
  421. self.threadpool = QThreadPool()
  422. self.setupUi(self)
  423. # self.show()
  424. self.loginWidget = loginWidget.LoginWidget()
  425. self.findServerWidget = FindServerWidget.findServerWidget()
  426. # self.amroLoginWidget = amroLoginWidget()
  427. if self.findSever:
  428. pass
  429. # if self.loginSts:
  430. # self.show()
  431. # else:
  432. # self.loginWidget.show()
  433. else:
  434. self.findServerWidget.show()
  435. self.findServerWidget.selectServer_signal.connect(self.setServer)
  436. # self.amroLoginWidget.amroLogin_signal.connect(self.displayMain)
  437. # data
  438. except Exception:
  439. pass
  440. def setServer(self, *args):
  441. try:
  442. self.ipinfo = args[0] + ':7162'
  443. self.clickrow = ""
  444. self.clickcolumn = ""
  445. # print(self.ipinfo)
  446. self.version = versionNumb
  447. self.findServerWidget.close()
  448. self.loginWidget.ipinfo = self.ipinfo
  449. self.loginWidget.login_signal.connect(self.displayMain)
  450. self.loginWidget.login_user.connect(self.setUser)
  451. checksts = 0
  452. ip = "http://" + str(self.ipinfo) + "/static/remoteCheck2/"+self.version
  453. res = requests.get(url=ip, timeout=180).json()
  454. if res["返回值"] == "ok":
  455. checksts = 1
  456. if checksts == 1:
  457. if self.loginSts:
  458. self.initDisplay()
  459. self.show()
  460. else:
  461. self.loginWidget.show()
  462. else:
  463. QMessageBox.warning(self, "提示", "有新版更新!请前往NAS共享平台[机务一队/天府机务分部/31准备组无纸化办公/1航班助手]获取电子白板最新版本!!")
  464. self.close()
  465. except Exception:
  466. pass
  467. def judge_bc(self):
  468. try:
  469. nowDay = datetime.date.today().strftime("%Y%m%d")
  470. nowDay_1 = (datetime.date.today() - datetime.timedelta(days=1)).strftime("%Y%m%d")
  471. nowDay_str2 = datetime.date.today().strftime("%Y-%m-%d")
  472. a_str = nowDay_str2 + " 04:30:00"
  473. b_str = nowDay_str2 + " 20:30:00"
  474. a = datetime.datetime.strptime(a_str, "%Y-%m-%d %H:%M:%S")
  475. b = datetime.datetime.strptime(b_str, "%Y-%m-%d %H:%M:%S")
  476. nowtime = datetime.datetime.now()
  477. if a < nowtime < b:
  478. self.selectedtime = nowDay
  479. self.selectedtime_bc = "A"
  480. elif b < nowtime:
  481. self.selectedtime = nowDay
  482. self.selectedtime_bc = "B"
  483. elif nowtime < a:
  484. self.selectedtime = nowDay_1
  485. self.selectedtime_bc = "B"
  486. except Exception:
  487. pass
  488. def initDisplay(self):
  489. try:
  490. self.oldjsondata = None
  491. self.cookie = None
  492. self.fl = None
  493. self.tts = QTextToSpeech()
  494. self.tts.setEngine('sapi')
  495. self.judge_bc()
  496. self.displayMode = "A"
  497. self.displayLabel = headerlabel0
  498. self.tableWidgetFlight.setColumnCount(len(self.displayLabel))
  499. self.tableWidgetFlight.verticalHeader().setVisible(False)
  500. self.tableWidgetFlight.setHorizontalHeaderLabels(self.displayLabel)
  501. self.tableWidgetFlight.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers)
  502. self.tableWidgetFlight.setSelectionBehavior(QAbstractItemView.SelectionBehavior.SelectRows)
  503. # self.lineEdit_phonenum.setText("")
  504. #self.checkBox.stateChanged.connect(self.displayChange)
  505. self.checkBox.setChecked(True)
  506. self.checkBox_2.stateChanged.connect(self.displaySelect2)
  507. self.checkBox_2.setChecked(True)
  508. self.checkBox_3.stateChanged.connect(self.displaySelect3)
  509. self.checkBox_3.setChecked(False)
  510. self.pushbutton_searchflight.clicked.connect(self.FLIGHTonChangeman)
  511. self.lineEdit_flight.textEdited[str].connect(lambda: self.changebackground())
  512. self.lineEdit_flight.textChanged.connect(self.FLIGHTonChange)
  513. self.serchTimer = QTimer()
  514. self.serchTimer.start(150 * 1000)
  515. self.serchTimer.timeout.connect(self.QThreadSortTimer)
  516. self.updatecheck()
  517. except Exception:
  518. pass
  519. def changebackground(self):
  520. try:
  521. FLIGHTonChange_text = self.lineEdit_flight.text()
  522. if FLIGHTonChange_text != "":
  523. self.lineEdit_flight.setStyleSheet("background-color:yellow;color:red;font-weight:bold")
  524. else:
  525. self.lineEdit_flight.setStyleSheet("background-color:white")
  526. except Exception:
  527. pass
  528. def FLIGHTonChange(self):
  529. try:
  530. self.FLIGHTonChange_text = self.lineEdit_flight.text()
  531. # print(self.FLIGHTonChange_text)
  532. self.QThreadSortNow("search")
  533. except Exception:
  534. pass
  535. def FLIGHTonChangeman(self):
  536. try:
  537. self.FLIGHTonChange_text = self.lineEdit_flight.text()
  538. # print(self.FLIGHTonChange_text)
  539. self.QThreadSortNow("main")
  540. except Exception:
  541. pass
  542. def updatecheck(self):
  543. try:
  544. ip = "http://" + str(self.ipinfo) + "/static/updatecheck"
  545. res = requests.get(url=ip, timeout=30).json()
  546. if res["返回值"] == "1":
  547. self.label_11.setText("正 常")
  548. self.label_11.setStyleSheet(
  549. "background-color:green;color:white;border-radius:5px;padding:2px;font-weight:bold")
  550. if self.severupdatests != "1":
  551. self.severupdatests = "1"
  552. elif res["返回值"] == "0":
  553. self.label_11.setText("未更新")
  554. self.label_11.setStyleSheet("background-color:yellow;red:white;border-radius:5px;padding:2px;font-weight:bold")
  555. except Exception:
  556. self.label_11.setText("已断开")
  557. self.label_11.setStyleSheet("background-color:red;color:white;border-radius:5px;padding:2px;font-weight:bold")
  558. def AddPG_widget(self):
  559. try:
  560. self.AddPG.show()
  561. self.AddPG_signal.emit(self.user, self.selectedtime, self.ipinfo)
  562. except Exception:
  563. pass
  564. def displaySelect2(self):
  565. try:
  566. displaySelect = self.sender()
  567. if displaySelect.isChecked():
  568. self.displaySelectstr2 = "1"
  569. if self.loginSts == True:
  570. if self.displaySelectstr3 == "1":
  571. self.displaySelect_mode = "3"
  572. else:
  573. self.displaySelect_mode = "1"
  574. self.QThreadSortNow("main")
  575. else:
  576. self.displaySelectstr2 = "0"
  577. self.displaySelect_mode = "0"
  578. if self.loginSts == True:
  579. if self.displaySelectstr3 == "1":
  580. self.checkBox_3.setChecked(False)
  581. else:
  582. self.QThreadSortNow("main")
  583. except Exception:
  584. pass
  585. def displaySelect3(self):
  586. try:
  587. displaySelect = self.sender()
  588. if displaySelect.isChecked():
  589. self.displaySelectstr3 = "1"
  590. self.displaySelect_mode = "3"
  591. if self.loginSts == True:
  592. if self.displaySelectstr2 == "0":
  593. self.checkBox_2.setChecked(True)
  594. else:
  595. self.QThreadSortNow("main")
  596. else:
  597. self.displaySelectstr3 = "0"
  598. if self.loginSts == True:
  599. if self.displaySelectstr2 == "0":
  600. self.displaySelect_mode = "0"
  601. else:
  602. self.displaySelect_mode = "1"
  603. self.QThreadSortNow("main")
  604. except Exception:
  605. pass
  606. def displayMain(self, *args):
  607. try:
  608. if args[0]:
  609. self.initDisplay()
  610. self.loginSts = True
  611. self.loginWidget.close()
  612. self.show()
  613. self.QThreadSortNow("main")
  614. except Exception:
  615. pass
  616. def setUser(self, args):
  617. try:
  618. self.user = args[1]
  619. self.authority = args[3]
  620. self.label_username.setText(self.user)
  621. except Exception:
  622. pass
  623. def QThreadSortDispalyTimer(self, name, dict, dict2, seversts, displayMode):
  624. try:
  625. if name == "sortTableWidgetDispaly":
  626. if displayMode == "A":
  627. self.displayLabel = headerlabel0
  628. self.tableWidgetFlight.setColumnCount(len(self.displayLabel))
  629. self.tableWidgetFlight.verticalHeader().setVisible(False)
  630. self.tableWidgetFlight.setHorizontalHeaderLabels(self.displayLabel)
  631. elif displayMode == "B":
  632. self.displayLabel = headerlabel_B
  633. self.tableWidgetFlight.setColumnCount(len(self.displayLabel))
  634. self.tableWidgetFlight.verticalHeader().setVisible(False)
  635. self.tableWidgetFlight.setHorizontalHeaderLabels(self.displayLabel)
  636. self.sorttableWidgetDispalydata = {}
  637. self.sorttableWidgetDispalydata = dict
  638. self.sorttableWidgetDispalydataALL={}
  639. self.sorttableWidgetDispalydataALL = dict
  640. self.tableWidgetDispaly()
  641. # print(self.sorttableWidgetDispalydata)
  642. if seversts == "0":
  643. self.severupdatests = "-"
  644. self.label_11.setText("已断开")
  645. self.label_11.setStyleSheet(
  646. "background-color:red;color:white;border-radius:5px;padding:2px;font-weight:bold")
  647. elif seversts == "1" and self.severupdatests == "1":
  648. self.label_11.setText("正 常")
  649. self.label_11.setStyleSheet(
  650. "background-color:green;color:white;border-radius:5px;padding:2px;font-weight:bold")
  651. elif seversts == "1" and self.severupdatests == "0":
  652. self.label_11.setText("未更新")
  653. self.label_11.setStyleSheet(
  654. "background-color:yellow;color:red;border-radius:5px;padding:2px;font-weight:bold")
  655. except Exception:
  656. pass
  657. def QThreadSortDispalyNow(self, name, dict, dict2, seversts, displayMode):
  658. try:
  659. if name == "sortTableWidgetDispaly":
  660. if displayMode == "A":
  661. self.displayLabel = headerlabel0
  662. self.tableWidgetFlight.setColumnCount(len(self.displayLabel))
  663. self.tableWidgetFlight.verticalHeader().setVisible(False)
  664. self.tableWidgetFlight.setHorizontalHeaderLabels(self.displayLabel)
  665. else:
  666. self.displayLabel = headerlabel_B
  667. self.tableWidgetFlight.setColumnCount(len(self.displayLabel))
  668. self.tableWidgetFlight.verticalHeader().setVisible(False)
  669. self.tableWidgetFlight.setHorizontalHeaderLabels(self.displayLabel)
  670. self.sorttableWidgetDispalydata = {}
  671. self.sorttableWidgetDispalydata = dict
  672. self.sorttableWidgetDispalydataALL = {}
  673. self.sorttableWidgetDispalydataALL = dict
  674. # print(self.sorttableWidgetDispalydata)
  675. self.tableWidgetDispaly()
  676. elif name == "SearchsortTableWidgetDispaly":
  677. if displayMode == "A":
  678. self.displayLabel = headerlabel0
  679. self.tableWidgetFlight.setColumnCount(len(self.displayLabel))
  680. self.tableWidgetFlight.verticalHeader().setVisible(False)
  681. self.tableWidgetFlight.setHorizontalHeaderLabels(self.displayLabel)
  682. elif displayMode == "B":
  683. self.displayLabel = headerlabel_B
  684. self.tableWidgetFlight.setColumnCount(len(self.displayLabel))
  685. self.tableWidgetFlight.verticalHeader().setVisible(False)
  686. self.tableWidgetFlight.setHorizontalHeaderLabels(self.displayLabel)
  687. self.sorttableWidgetDispalydata = {}
  688. self.sorttableWidgetDispalydata = dict
  689. self.tableWidgetDispaly()
  690. # print(self.sorttableWidgetDispalydata)
  691. if seversts == "0":
  692. self.severupdatests = "-"
  693. self.label_11.setText("已断开")
  694. self.label_11.setStyleSheet(
  695. "background-color:red;color:white;border-radius:5px;padding:2px;font-weight:bold")
  696. elif seversts == "1" and self.severupdatests == "1":
  697. self.label_11.setText("正 常")
  698. self.label_11.setStyleSheet(
  699. "background-color:green;color:white;border-radius:5px;padding:2px;font-weight:bold")
  700. elif seversts == "1" and self.severupdatests == "0":
  701. self.label_11.setText("未更新")
  702. self.label_11.setStyleSheet(
  703. "background-color:yellow;color:red;border-radius:5px;padding:2px;font-weight:bold")
  704. except Exception:
  705. pass
  706. def QThreadSortTimer(self):
  707. try:
  708. if self.loginSts == True:
  709. # print("多线程刷新1")
  710. self.judge_bc()
  711. self.FLIGHTonChange_text = self.lineEdit_flight.text()
  712. th1 = QThread()
  713. self.sortTableWidgetDispalyThread1 = sortdisplaySever("sortTableWidgetDispaly", self.ipinfo,
  714. self.selectedtime, self.FLIGHTonChange_text,
  715. self.displayMode, "1", self.displaySelect_mode,
  716. th1)
  717. self.sortTableWidgetDispalyThread1.sortupdate.connect(self.QThreadSortDispalyTimer)
  718. self.sortTableWidgetDispalyThread1.moveToThread(th1)
  719. th1.started.connect(self.sortTableWidgetDispalyThread1.run)
  720. th1.start()
  721. self.updatecheck()
  722. except Exception:
  723. pass
  724. def QThreadSortNow(self, name):
  725. try:
  726. if "main" in str(name):
  727. # print(datetime.datetime.now())
  728. th11 = QThread()
  729. self.sortTableWidgetDispalyThread11 = sortdisplaySever("sortTableWidgetDispaly", self.ipinfo,
  730. self.selectedtime, self.FLIGHTonChange_text,
  731. self.displayMode, "1", self.displaySelect_mode,
  732. th11)
  733. self.sortTableWidgetDispalyThread11.sortupdate.connect(self.QThreadSortDispalyNow)
  734. self.sortTableWidgetDispalyThread11.moveToThread(th11)
  735. th11.started.connect(self.sortTableWidgetDispalyThread11.run)
  736. th11.start()
  737. elif "search" in str(name):
  738. # print(datetime.datetime.now())
  739. th111 = QThread()
  740. self.sortTableWidgetDispalyThread111 = sortdisplaySever("SearchsortTableWidgetDispaly", self.ipinfo,
  741. self.selectedtime, self.FLIGHTonChange_text,
  742. self.displayMode, self.sorttableWidgetDispalydataALL, self.displaySelect_mode,
  743. th111)
  744. self.sortTableWidgetDispalyThread111.sortupdate.connect(self.QThreadSortDispalyNow)
  745. self.sortTableWidgetDispalyThread111.moveToThread(th111)
  746. th111.started.connect(self.sortTableWidgetDispalyThread111.run)
  747. th111.start()
  748. except Exception:
  749. pass
  750. def enter_item_slot(self, item):
  751. try:
  752. self.tool_tip = item.text()
  753. # print("self.tool_tip:", self.tool_tip)
  754. except Exception:
  755. pass
  756. def tableWidgetDispaly(self):
  757. try:
  758. selftaxi = ["166", "166L", "166R", "167", "167L", "167R", "168", "169", "170", "171", "172", "173", "174",
  759. "269", "270", "271", "272", "273", "274", "275", "287", "288", "601", "602", "603", "604",
  760. "605", "606", "607", "607L", "607R"] # 自滑位
  761. if self.sorttableWidgetDispalydata != "":
  762. # print("刷新开始")
  763. # dateNow=datetime.datetime.now()
  764. tableWidgetDispalydata = self.sorttableWidgetDispalydata
  765. col = len(self.displayLabel)
  766. self.tableWidgetFlight.setRowCount(len(tableWidgetDispalydata.keys()))
  767. for row in tableWidgetDispalydata.keys():
  768. for colNum in range(0, col):
  769. if colNum == 13:
  770. self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(colNum)])))
  771. elif colNum == 15:
  772. self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(colNum)])))
  773. elif colNum == 18:
  774. if tableWidgetDispalydata[row][str(colNum)] in selftaxi and tableWidgetDispalydata[row][str(colNum)] != "":
  775. self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(colNum)])))
  776. self.tableWidgetFlight.item(int(row), colNum).setBackground(QColor("lightgreen"))
  777. self.tableWidgetFlight.item(int(row), colNum).setForeground(QColor("black"))
  778. elif tableWidgetDispalydata[row][str(colNum)] not in selftaxi or tableWidgetDispalydata[row][str(colNum)] == "":
  779. self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(colNum)])))
  780. self.tableWidgetFlight.item(int(row), colNum).setBackground(QColor(str(tableWidgetDispalydata[row]["99"])))
  781. self.tableWidgetFlight.item(int(row), colNum).setForeground(QColor(str(tableWidgetDispalydata[row]["101"])))
  782. font = QFont()
  783. # font.setFamily("SimHei")
  784. font.setFamily("Microsoft YaHei")
  785. font.setBold(True)
  786. self.tableWidgetFlight.item(int(row), colNum).setFont(font)
  787. elif colNum == 19:
  788. if tableWidgetDispalydata[row][str(colNum)] == "短停送" or tableWidgetDispalydata[row][str(colNum)] == "特后前送":
  789. self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(colNum)])))
  790. self.tableWidgetFlight.item(int(row), colNum).setBackground(QColor(str(tableWidgetDispalydata[row]["99"])))
  791. self.tableWidgetFlight.item(int(row), colNum).setForeground(QColor(str("blue")))
  792. font = QFont()
  793. font.setFamily("Microsoft YaHei")
  794. font.setBold(True)
  795. self.tableWidgetFlight.item(int(row), colNum).setFont(font)
  796. else:
  797. self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(colNum)])))
  798. self.tableWidgetFlight.item(int(row), colNum).setBackground(QColor(str(tableWidgetDispalydata[row]["99"])))
  799. self.tableWidgetFlight.item(int(row), colNum).setForeground(QColor(str(tableWidgetDispalydata[row]["101"])))
  800. elif 19 < colNum < 31:
  801. if "√" in tableWidgetDispalydata[row][str(colNum)] or tableWidgetDispalydata[row][str(colNum)] == "":
  802. self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(colNum)]).replace("*","")))
  803. self.tableWidgetFlight.item(int(row), colNum).setBackground(QColor(str(tableWidgetDispalydata[row]["99"])))
  804. self.tableWidgetFlight.item(int(row), colNum).setForeground(QColor(str(tableWidgetDispalydata[row]["101"])))
  805. if tableWidgetDispalydata[row][str(colNum)] != "" and "√" not in tableWidgetDispalydata[row][str(colNum)]:
  806. self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(colNum)]).replace("*","")))
  807. self.tableWidgetFlight.item(int(row), colNum).setBackground(QColor("yellow"))
  808. self.tableWidgetFlight.item(int(row), colNum).setForeground(QColor("black"))
  809. elif colNum == 61:
  810. if str(tableWidgetDispalydata[row][str(colNum)]) != "" and str(tableWidgetDispalydata[row][str(colNum)]) != None:
  811. self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(colNum)])))
  812. self.tableWidgetFlight.item(int(row), colNum).setBackground(QColor("yellow"))
  813. self.tableWidgetFlight.item(int(row), colNum).setForeground(QColor("red"))
  814. font = QFont()
  815. font.setFamily("Microsoft YaHei")
  816. font.setBold(True)
  817. self.tableWidgetFlight.item(int(row), colNum).setFont(font)
  818. else:
  819. self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(colNum)])))
  820. self.tableWidgetFlight.item(int(row), colNum).setBackground(QColor(str(tableWidgetDispalydata[row]["99"])))
  821. self.tableWidgetFlight.item(int(row), colNum).setForeground(QColor(str(tableWidgetDispalydata[row]["101"])))
  822. font = QFont()
  823. font.setFamily("Microsoft YaHei")
  824. font.setBold(True)
  825. self.tableWidgetFlight.item(int(row), colNum).setFont(font)
  826. elif colNum == 49:
  827. self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(colNum)])))
  828. if tableWidgetDispalydata[row][str(colNum)] != "":
  829. for i in tableWidgetDispalydata[row][str(colNum)].split(","):
  830. if "√" not in i:
  831. self.tableWidgetFlight.item(int(row), colNum).setBackground(QColor("yellow"))
  832. self.tableWidgetFlight.item(int(row), colNum).setForeground(QColor("black"))
  833. break
  834. else:
  835. self.tableWidgetFlight.item(int(row), colNum).setBackground(QColor(str(tableWidgetDispalydata[row]["99"])))
  836. self.tableWidgetFlight.item(int(row), colNum).setForeground(QColor(str(tableWidgetDispalydata[row]["101"])))
  837. else:
  838. self.tableWidgetFlight.item(int(row), colNum).setBackground(QColor(str(tableWidgetDispalydata[row]["99"])))
  839. self.tableWidgetFlight.item(int(row), colNum).setForeground(QColor(str(tableWidgetDispalydata[row]["101"])))
  840. elif colNum == 51:
  841. self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(colNum)])))
  842. if tableWidgetDispalydata[row][str(colNum)] != "" and "√" not in tableWidgetDispalydata[row][str(colNum)]:
  843. self.tableWidgetFlight.item(int(row), colNum).setBackground(QColor("yellow"))
  844. self.tableWidgetFlight.item(int(row), colNum).setForeground(QColor("black"))
  845. else:
  846. self.tableWidgetFlight.item(int(row), colNum).setBackground(QColor(str(tableWidgetDispalydata[row]["99"])))
  847. self.tableWidgetFlight.item(int(row), colNum).setForeground(QColor(str(tableWidgetDispalydata[row]["101"])))
  848. elif 0 < colNum < 11:
  849. self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(colNum)])))
  850. elif colNum == 0:
  851. self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(str(int(row)+1)))
  852. else:
  853. self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem( str(tableWidgetDispalydata[row][str(colNum)])))
  854. if colNum not in [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,49,51, 61]:
  855. self.tableWidgetFlight.item(int(row), colNum).setBackground(QColor(str(tableWidgetDispalydata[row]["99"])))
  856. self.tableWidgetFlight.item(int(row), colNum).setForeground(QColor(str(tableWidgetDispalydata[row]["101"])))
  857. if colNum not in [4 , 6]:
  858. self.tableWidgetFlight.item(int(row), colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
  859. else:
  860. self.tableWidgetFlight.item(int(row), colNum).setTextAlignment(Qt.AlignmentFlag.AlignTop | Qt.AlignmentFlag.AlignCenter)
  861. self.tableWidgetFlight.setRowHeight(int(row), 35)
  862. if self.displayMode == "A":
  863. settips={0:"53",4:"62",49:"50",19:"47",11:"57",13:"57",15:"57",45:"45",61:"61",6:"17",38:"40",}
  864. for key,value in settips.items():
  865. if self.tableWidgetFlight.item(int(row), key):
  866. self.tableWidgetFlight.item(int(row), key).setToolTip("%s" % (str(tableWidgetDispalydata[row][str(value)])))
  867. else:
  868. self.tableWidgetFlight.item(int(row), 0).setToolTip("[%s,%s]" % ( str(tableWidgetDispalydata[row][str(col - 5)]),str(tableWidgetDispalydata[row][str(col - 4)])))
  869. for ii in range (1,4):
  870. self.tableWidgetFlight.item(int(row), ii).setToolTip("%s" % str(tableWidgetDispalydata[row][str(24)]))
  871. if self.displayMode == "A":
  872. self.tableWidgetFlight.resizeColumnsToContents()
  873. self.tableWidgetFlight.setWordWrap(True)
  874. for i in range(col):
  875. if i in [1,2,3,5,7,8,9,10,12,14,16,17,20,22,24,26,28,30,32,34,36,39,40,42,43,44,46,47,48,50,52,53,54,55,56,57,58,59,60,62,63,64,65]:
  876. self.tableWidgetFlight.setColumnHidden(i, True)
  877. else:
  878. self.tableWidgetFlight.setColumnHidden(i, False)
  879. if i in [21, 23, 25, 27, 29, 31]:
  880. self.tableWidgetFlight.setColumnWidth(i, 70)
  881. elif i in [45]:
  882. self.tableWidgetFlight.setColumnWidth(i, 45)
  883. else:
  884. for i in range(col):
  885. if i in [col - 9, col - 11, col - 12,19,20,21,22,23,28,29,30,31]:
  886. self.tableWidgetFlight.setColumnHidden(i, True)
  887. else:
  888. self.tableWidgetFlight.setColumnHidden(i, False)
  889. self.tableWidgetFlight.resizeColumnsToContents()
  890. self.tableWidgetFlight.setColumnWidth(10, 70)
  891. self.tableWidgetFlight.setColumnWidth(11, 70)
  892. self.tableWidgetFlight.setColumnWidth(12, 70)
  893. self.tableWidgetFlight.setColumnWidth(13, 70)
  894. self.tableWidgetFlight.setColumnWidth(14, 70)
  895. self.tableWidgetFlight.setColumnWidth(15, 70)
  896. self.tableWidgetFlight.setColumnWidth(22, 45)
  897. except Exception as e:
  898. app_logger.log_error(e)
  899. if __name__ == '__main__':
  900. app = QApplication(sys.argv)
  901. mw = MainWidget()
  902. sys.exit(app.exec())