|
@@ -0,0 +1,5383 @@
|
|
|
+import datetime
|
|
|
+import socket
|
|
|
+import sys
|
|
|
+import time
|
|
|
+import traceback
|
|
|
+from PyQt6 import QtCore
|
|
|
+from PyQt6.QtCore import Qt, QThread, pyqtSignal, QRunnable, QObject, pyqtSlot, QThreadPool, QTimer, \
|
|
|
+ QSortFilterProxyModel
|
|
|
+from PyQt6.QtGui import QColor, QFont,QPalette
|
|
|
+from PyQt6.QtTextToSpeech import QTextToSpeech
|
|
|
+from PyQt6.QtWidgets import QApplication, QWidget, QMessageBox, QPushButton, QTableWidgetItem, QFileDialog, \
|
|
|
+ QAbstractItemView, \
|
|
|
+ QCompleter, QMenu
|
|
|
+import requests
|
|
|
+import os
|
|
|
+import json
|
|
|
+from openpyxl import Workbook
|
|
|
+from UI.main2 import Ui_Form
|
|
|
+from Functions import utils
|
|
|
+from UI.checkCalllist import Ui_checkCalllist
|
|
|
+from UI.login import Ui_login
|
|
|
+from UI.addloaclip import Ui_Addloacalip
|
|
|
+from UI.checkLoadSingal import Ui_checkLoadSingal
|
|
|
+from UI.searchpeople_get import Ui_searchpeople_get
|
|
|
+from UI.amroLogin import Ui_amroLogin
|
|
|
+from UI.amroLogin2 import Ui_amroLogin2
|
|
|
+from UI.adduser import Ui_FormAdduser
|
|
|
+from UI.handoverFlight import Ui_handoverFlight
|
|
|
+from UI.AddPG import Ui_FormAddPG
|
|
|
+from UI.addFlight import Ui_FormAddFlight
|
|
|
+from UI.findserver import Ui_FormLink
|
|
|
+from UI.changePassword import Ui_FormChangePssword
|
|
|
+from UI.checkLogs import Ui_checkLogs
|
|
|
+from UI.changeAuth import Ui_changeAuth
|
|
|
+
|
|
|
+from UI.mapWeb import Ui_FormMapWeb
|
|
|
+from Functions import serverFind
|
|
|
+from Functions.QtFunctions import ipcall
|
|
|
+import logging
|
|
|
+import logging.handlers
|
|
|
+from logging.handlers import RotatingFileHandler
|
|
|
+
|
|
|
+logger = logging.getLogger()
|
|
|
+logger.setLevel(logging.INFO) # Log等级总开关
|
|
|
+# 第二步,创建一个handler,用于写入日志文件
|
|
|
+rq = time.strftime('%Y%m%d%H%M', time.localtime(time.time()))
|
|
|
+log_name = 'D:/flightinfo/logs/BUGLOGS_qtmain.log'
|
|
|
+logfile = log_name
|
|
|
+fh = RotatingFileHandler(logfile, mode='a', maxBytes=10485760, backupCount=1, encoding='utf-8')
|
|
|
+fh.setLevel(logging.DEBUG) # 输出到file的log等级的开关
|
|
|
+# 第三步,定义handler的输出格式
|
|
|
+formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s")
|
|
|
+fh.setFormatter(formatter)
|
|
|
+# 第四步,将logger添加到handler里面
|
|
|
+logger.addHandler(fh)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+class setlocalip(QObject):
|
|
|
+ localipupdate = pyqtSignal(str)
|
|
|
+
|
|
|
+ def __init__(self, ip, thread):
|
|
|
+ super().__init__()
|
|
|
+ self.ip = ip
|
|
|
+ self.thread = thread
|
|
|
+
|
|
|
+ def run(self):
|
|
|
+ # print("jjingruy1")
|
|
|
+ try:
|
|
|
+ if self.ip != None:
|
|
|
+ try:
|
|
|
+ localcalltry = ipcall.searchinfo()
|
|
|
+ self.localtoken = localcalltry.start(self.ip)
|
|
|
+ # print("本地测试print(self.localtoken)")
|
|
|
+ # print(self.localtoken)
|
|
|
+ except Exception:
|
|
|
+ self.localtoken = None
|
|
|
+ self.localtoken = None
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ else:
|
|
|
+ self.localtoken = None
|
|
|
+ self.localipupdate.emit(self.localtoken)
|
|
|
+ self.thread.quit()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ self.thread.quit()
|
|
|
+
|
|
|
+
|
|
|
+class sortdisplaySever(QObject):
|
|
|
+ sortupdate = pyqtSignal(str, dict, list, str, str)
|
|
|
+
|
|
|
+ def __init__(self, name, ip, selectedtime, text, displayMode, selectedbc, displayselect, thread):
|
|
|
+ super().__init__()
|
|
|
+ self.funcName = name
|
|
|
+ self.ipinfo = ip
|
|
|
+ self.selectedtime = selectedtime
|
|
|
+ self.text = text
|
|
|
+ self.displayMode = displayMode
|
|
|
+ self.selectedbc = selectedbc
|
|
|
+ self.displayselect_mode = displayselect
|
|
|
+ self.thread = thread
|
|
|
+ nowDay = datetime.datetime.now().strftime("%Y%m%d")
|
|
|
+ tomorr =(datetime.date.today() + datetime.timedelta(days=1)).strftime("%Y%m%d")
|
|
|
+ yester =(datetime.date.today() - datetime.timedelta(days=1)).strftime("%Y%m%d")
|
|
|
+ if self.selectedtime == nowDay:
|
|
|
+ self.date="2"
|
|
|
+ elif self.selectedtime == tomorr:
|
|
|
+ self.date = "3"
|
|
|
+ elif self.selectedtime == yester:
|
|
|
+ self.date = "1"
|
|
|
+ else:
|
|
|
+ self.date = "4"
|
|
|
+
|
|
|
+ def run(self):
|
|
|
+ try:
|
|
|
+ list = []
|
|
|
+ if self.funcName == "sortTableWidgetDispaly":
|
|
|
+ #print("1")
|
|
|
+ self.sortTableWidgetDispaly()
|
|
|
+ self.sortupdate.emit("sortTableWidgetDispaly", self.sorttableWidgetDispalydata, list, self.seversts,self.displayMode)
|
|
|
+ self.sortupdate.emit("sortTableWidgetDispalyALL", self.DispalydataAll, list, self.seversts,self.displayMode)
|
|
|
+ if self.funcName == "sortTableWidgetDispalyALL":
|
|
|
+ #print("2")
|
|
|
+ self.sortTableWidgetDispalyALL()
|
|
|
+ self.sortupdate.emit("sortTableWidgetDispalyALL", self.sorttableWidgetDispalydata, list, self.seversts,self.displayMode)
|
|
|
+ elif self.funcName == "SearchsortTableWidgetDispaly":
|
|
|
+ #print("3")
|
|
|
+ self.SearchsortTableWidgetDispaly()
|
|
|
+ self.sortupdate.emit("SearchsortTableWidgetDispaly", self.sorttableWidgetDispalydata, list,self.seversts,self.displayMode)
|
|
|
+ elif self.funcName == "sorttableWidgetDisplayChange":
|
|
|
+ #print("4")
|
|
|
+ self.sorttableWidgetDisplayChange()
|
|
|
+ self.sortupdate.emit("sorttableWidgetDisplayChange", self.sortlogchange, list, self.seversts,self.displayMode)
|
|
|
+ elif self.funcName == "sorttableWidgetPeopleDisplay":
|
|
|
+ self.sorttableWidgetPeopleDisplay()
|
|
|
+ self.sortupdate.emit("sorttableWidgetPeopleDisplay", self.sortdiplaylist, self.peopleOnJob,self.seversts, self.displayMode)
|
|
|
+ elif self.funcName == "sorttableWidgetLOGDispaly":
|
|
|
+ self.sorttableWidgetLOGDispaly()
|
|
|
+ self.sortupdate.emit("sorttableWidgetLOGDispaly", self.sortlog, list, self.seversts, self.displayMode)
|
|
|
+ elif self.funcName == "sorttableWidgetPHONEDispaly":
|
|
|
+ self.sorttableWidgetPHONEDispaly()
|
|
|
+ self.sortupdate.emit("sorttableWidgetPHONEDispaly", self.sorttableWidgetPHONEDispalydata, list,self.seversts, "")
|
|
|
+ self.thread.quit()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ self.thread.quit()
|
|
|
+
|
|
|
+ def severpost_nomeassge(self, postname, postdata, postdata2, postdata3):
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/" + str(postname) + str(postdata) + str(postdata2) + str(postdata3)
|
|
|
+ try:
|
|
|
+ res = requests.get(url=ip, timeout=30).json()
|
|
|
+ self.seversts = "1"
|
|
|
+ return res
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ logger.error("重大bug")
|
|
|
+ logger.error(ip)
|
|
|
+ self.seversts = "0"
|
|
|
+ return []
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def sorttableWidgetPHONEDispaly(self):
|
|
|
+ try:
|
|
|
+ sorttableWidgetPHONEDispalydataall = self.severpost_nomeassge("getphonelist", "", "", "")
|
|
|
+ self.sorttableWidgetPHONEDispalydata = {}
|
|
|
+ num = 0
|
|
|
+ if sorttableWidgetPHONEDispalydataall != None:
|
|
|
+ if self.text != "":
|
|
|
+ for i in sorttableWidgetPHONEDispalydataall.keys():
|
|
|
+ if str.lower(str(self.text)) in str(sorttableWidgetPHONEDispalydataall[i]):
|
|
|
+ self.sorttableWidgetPHONEDispalydata[str(num)] = sorttableWidgetPHONEDispalydataall[i]
|
|
|
+ num += 1
|
|
|
+ else:
|
|
|
+ self.sorttableWidgetPHONEDispalydata = sorttableWidgetPHONEDispalydataall
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def sortTableWidgetDispaly(self):
|
|
|
+ try:
|
|
|
+ text = self.text
|
|
|
+ Partdisplay = self.displayselect_mode # 不显示起飞航班
|
|
|
+ # print(Partdisplay)
|
|
|
+ tableWidgetDispalydataAll = {}
|
|
|
+ if self.displayMode == "A" and (self.selectedbc == "0" or self.date=="4"):
|
|
|
+ tableWidgetDispalydataAll = self.severpost_nomeassge("tableWidgetDispaly", "/%s" % self.selectedtime,"/%s"%self.date,"")
|
|
|
+ elif self.displayMode == "B"and (self.selectedbc == "0" or self.date=="4"):
|
|
|
+ tableWidgetDispalydataAll = self.severpost_nomeassge("tableWidgetDispaly2", "/%s" % self.selectedtime,"/%s"%self.date,"")
|
|
|
+ elif self.displayMode == "A" and self.selectedbc == "1":
|
|
|
+ tableWidgetDispalydataAll = self.severpost_nomeassge("tableWidgetDispalyRead","/%s"%self.date,"","")
|
|
|
+ elif self.displayMode == "B"and self.selectedbc == "1":
|
|
|
+ tableWidgetDispalydataAll = self.severpost_nomeassge("tableWidgetDispalyRead2","/%s"%self.date,"","")
|
|
|
+ self.DispalydataAll=tableWidgetDispalydataAll
|
|
|
+ self.sorttableWidgetDispalydata = {}
|
|
|
+ num = 0
|
|
|
+ if tableWidgetDispalydataAll != None:
|
|
|
+ if text != "" and text != "T1" and text != "T2" and text != "T6" and text != "T2T6" and text != "T1T6" and Partdisplay == "0":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ if str(text) in str(tableWidgetDispalydataAll[i]):
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T1" and Partdisplay == "0":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "":
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] == "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T2" and Partdisplay == "0":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "":
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] == "2":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T2T6" and Partdisplay == "0":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "":
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] != "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T1T6" and Partdisplay == "0":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "":
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] != "2":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T6" and Partdisplay == "0":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "":
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] != "1" and \
|
|
|
+ str(tableWidgetDispalydataAll[i]["8"])[0] != "2":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text != "" and text != "T1" and text != "T2" and text != "T6" and text != "T2T6" and text != "T1T6" and Partdisplay == "1":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ if str(text) in str(tableWidgetDispalydataAll[i]) and tableWidgetDispalydataAll[i]["109"] != '4':
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T1" and Partdisplay == "1":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] != '4':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] == "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T2" and Partdisplay == "1":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] != '4':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] == "2":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T2T6" and Partdisplay == "1":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] != '4':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] != "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T1T6" and Partdisplay == "1":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] != '4':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] != "2":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T6" and Partdisplay == "1":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] != '4':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] != "1" and \
|
|
|
+ str(tableWidgetDispalydataAll[i]["8"])[0] != "2":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "" and Partdisplay == "1":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(tableWidgetDispalydataAll[i]["109"])
|
|
|
+ if tableWidgetDispalydataAll[i]["109"] != '4':
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text != "" and text != "T1" and text != "T2" and text != "T6" and text != "T2T6" and text != "T1T6" and Partdisplay == "3":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ if str(text) in str(tableWidgetDispalydataAll[i]) and tableWidgetDispalydataAll[i]["109"] == '1':
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T1" and Partdisplay == "3":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] == '1':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] == "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T2" and Partdisplay == "3":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] == '1':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] == "2":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T2T6" and Partdisplay == "3":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] == '1':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] != "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T1T6" and Partdisplay == "3":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] == '1':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] != "2":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T6" and Partdisplay == "3":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] == '1':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] != "1" and \
|
|
|
+ str(tableWidgetDispalydataAll[i]["8"])[0] != "2":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "" and Partdisplay == "3":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(tableWidgetDispalydataAll[i]["109"])
|
|
|
+ if tableWidgetDispalydataAll[i]["109"] == '1':
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ else:
|
|
|
+ self.sorttableWidgetDispalydata = tableWidgetDispalydataAll
|
|
|
+ else:
|
|
|
+ self.sorttableWidgetDispalydata = self.sortTableWidgetDispaly_bak()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def sortTableWidgetDispaly_bak(self):
|
|
|
+ try:
|
|
|
+ text = self.text
|
|
|
+ Partdisplay = self.displayselect_mode # 不显示起飞航班
|
|
|
+ # print(Partdisplay)
|
|
|
+ tableWidgetDispalydataAll = {}
|
|
|
+ if self.displayMode == "A" and (self.selectedbc == "0" or self.date == "4"):
|
|
|
+ tableWidgetDispalydataAll = self.severpost_nomeassge("tableWidgetDispaly", "/%s" % self.selectedtime,
|
|
|
+ "/%s" % self.date, "")
|
|
|
+ elif self.displayMode == "B" and (self.selectedbc == "0" or self.date == "4"):
|
|
|
+ tableWidgetDispalydataAll = self.severpost_nomeassge("tableWidgetDispaly2", "/%s" % self.selectedtime,
|
|
|
+ "/%s" % self.date, "")
|
|
|
+ elif self.displayMode == "A" and self.selectedbc == "1":
|
|
|
+ tableWidgetDispalydataAll = self.severpost_nomeassge("tableWidgetDispalyRead", "/%s" % self.date, "",
|
|
|
+ "")
|
|
|
+ elif self.displayMode == "B" and self.selectedbc == "1":
|
|
|
+ tableWidgetDispalydataAll = self.severpost_nomeassge("tableWidgetDispalyRead2", "/%s" % self.date, "", "")
|
|
|
+ self.DispalydataAll=tableWidgetDispalydataAll
|
|
|
+ sorttableWidgetDispalydata = {}
|
|
|
+ num = 0
|
|
|
+ if tableWidgetDispalydataAll != None:
|
|
|
+ if text != "" and text != "T1" and text != "T2" and text != "T6" and text != "T2T6" and text != "T1T6" and Partdisplay == "0":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ if str(text) in str(tableWidgetDispalydataAll[i]):
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T1" and Partdisplay == "0":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "":
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] == "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T2" and Partdisplay == "0":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "":
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] == "2":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T2T6" and Partdisplay == "0":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "":
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] != "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T1T6" and Partdisplay == "0":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "":
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] != "2":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T6" and Partdisplay == "0":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "":
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] != "1" and \
|
|
|
+ str(tableWidgetDispalydataAll[i]["8"])[0] != "2":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text != "" and text != "T1" and text != "T2" and text != "T6" and text != "T2T6" and text != "T1T6" and Partdisplay == "1":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ if str(text) in str(tableWidgetDispalydataAll[i]) and tableWidgetDispalydataAll[i]["109"] != '4':
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T1" and Partdisplay == "1":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] != '4':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] == "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T2" and Partdisplay == "1":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] != '4':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] == "2":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T2T6" and Partdisplay == "1":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] != '4':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] != "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T1T6" and Partdisplay == "1":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] != '4':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] != "2":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T6" and Partdisplay == "1":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] != '4':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] != "1" and \
|
|
|
+ str(tableWidgetDispalydataAll[i]["8"])[0] != "2":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "" and Partdisplay == "1":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(tableWidgetDispalydataAll[i]["109"])
|
|
|
+ if tableWidgetDispalydataAll[i]["109"] != '4':
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text != "" and text != "T1" and text != "T2" and text != "T6" and text != "T2T6" and text != "T1T6" and Partdisplay == "3":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ if str(text) in str(tableWidgetDispalydataAll[i]) and tableWidgetDispalydataAll[i]["109"] == '1':
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T1" and Partdisplay == "3":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] == '1':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] == "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T2" and Partdisplay == "3":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] == '1':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] == "2":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T2T6" and Partdisplay == "3":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] == '1':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] != "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T1T6" and Partdisplay == "3":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] == '1':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] != "2":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T6" and Partdisplay == "3":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] == '1':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] != "1" and \
|
|
|
+ str(tableWidgetDispalydataAll[i]["8"])[0] != "2":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "" and Partdisplay == "3":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(tableWidgetDispalydataAll[i]["109"])
|
|
|
+ if tableWidgetDispalydataAll[i]["109"] == '1':
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ else:
|
|
|
+ sorttableWidgetDispalydata = tableWidgetDispalydataAll
|
|
|
+ return sorttableWidgetDispalydata
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ def sortTableWidgetDispalyALL(self):
|
|
|
+ try:
|
|
|
+ if self.displayMode == "A" and (self.selectedbc == "0" or self.date=="4"):
|
|
|
+ self.sorttableWidgetDispalydata = self.severpost_nomeassge("tableWidgetDispaly", "/%s" % self.selectedtime,"/%s"%self.date,"")
|
|
|
+ elif self.displayMode == "B"and (self.selectedbc == "0" or self.date=="4"):
|
|
|
+ self.sorttableWidgetDispalydata = self.severpost_nomeassge("tableWidgetDispaly2", "/%s" % self.selectedtime,"/%s"%self.date,"")
|
|
|
+ elif self.displayMode == "A" and self.selectedbc == "1":
|
|
|
+ self.sorttableWidgetDispalydata = self.severpost_nomeassge("tableWidgetDispalyRead","/%s"%self.date,"","")
|
|
|
+ elif self.displayMode == "B"and self.selectedbc == "1":
|
|
|
+ self.sorttableWidgetDispalydata = self.severpost_nomeassge("tableWidgetDispalyRead2","/%s"%self.date,"","")
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+
|
|
|
+ def SearchsortTableWidgetDispaly(self):
|
|
|
+ try:
|
|
|
+ text = self.text
|
|
|
+ self.seversts = "1"
|
|
|
+ Partdisplay = self.displayselect_mode # 不显示起飞航班
|
|
|
+ # print(Partdisplay)
|
|
|
+ tableWidgetDispalydataAll = self.selectedbc
|
|
|
+
|
|
|
+ self.sorttableWidgetDispalydata = {}
|
|
|
+ num = 0
|
|
|
+ if tableWidgetDispalydataAll != None:
|
|
|
+ if text != "" and text != "T1" and text != "T2" and text != "T6" and text != "T2T6" and text != "T1T6"and Partdisplay == "0":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ if str(text) in str(tableWidgetDispalydataAll[i]):
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T1" and Partdisplay == "0":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "":
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] == "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T2" and Partdisplay == "0":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "":
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] == "2":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T2T6" and Partdisplay == "0":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "":
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] != "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T1T6" and Partdisplay == "0":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "":
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] != "2":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T6" and Partdisplay == "0":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "":
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] != "1" and \
|
|
|
+ str(tableWidgetDispalydataAll[i]["8"])[0] != "2":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text != "" and text != "T1" and text != "T2" and text != "T6" and text != "T2T6" and text != "T1T6" and Partdisplay == "1":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ if str(text) in str(tableWidgetDispalydataAll[i]) and tableWidgetDispalydataAll[i]["109"] != '4':
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T1" and Partdisplay == "1":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] != '4':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] == "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T2" and Partdisplay == "1":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] != '4':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] == "2":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T2T6" and Partdisplay == "1":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] != '4':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] != "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T1T6" and Partdisplay == "1":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] != '4':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] != "2":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T6" and Partdisplay == "1":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] != '4':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] != "1" and \
|
|
|
+ str(tableWidgetDispalydataAll[i]["8"])[0] != "2":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "" and Partdisplay == "1":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(tableWidgetDispalydataAll[i]["109"])
|
|
|
+ if tableWidgetDispalydataAll[i]["109"] != '4':
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+
|
|
|
+ elif text != "" and text != "T1" and text != "T2" and text != "T6" and text != "T2T6" and text != "T1T6" and Partdisplay == "3":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ if str(text) in str(tableWidgetDispalydataAll[i]) and tableWidgetDispalydataAll[i]["109"] == '1':
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T1" and Partdisplay == "3":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] == '1':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] == "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T2" and Partdisplay == "3":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] == '1':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] == "2":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T2T6" and Partdisplay == "3":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] == '1':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] != "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T1T6" and Partdisplay == "3":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] == '1':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] != "2":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T6" and Partdisplay == "3":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] == '1':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] != "1" and \
|
|
|
+ str(tableWidgetDispalydataAll[i]["8"])[0] != "2":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "" and Partdisplay == "3":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(tableWidgetDispalydataAll[i]["109"])
|
|
|
+ if tableWidgetDispalydataAll[i]["109"] == '1':
|
|
|
+ self.sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ else:
|
|
|
+ self.sorttableWidgetDispalydata = tableWidgetDispalydataAll
|
|
|
+ else:
|
|
|
+ self.sorttableWidgetDispalydata = self.SearchsortTableWidgetDispaly_bak()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def SearchsortTableWidgetDispaly_bak(self):
|
|
|
+ try:
|
|
|
+ text = self.text
|
|
|
+ self.seversts = "1"
|
|
|
+ Partdisplay = self.displayselect_mode # 不显示起飞航班
|
|
|
+ # print(Partdisplay)
|
|
|
+ tableWidgetDispalydataAll = self.selectedbc
|
|
|
+
|
|
|
+ sorttableWidgetDispalydata = {}
|
|
|
+ num = 0
|
|
|
+ if tableWidgetDispalydataAll != None:
|
|
|
+ if text != "" and text != "T1" and text != "T2" and text != "T6" and text != "T2T6" and text != "T1T6" and Partdisplay == "0":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ if str(text) in str(tableWidgetDispalydataAll[i]):
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T1" and Partdisplay == "0":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "":
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] == "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T2" and Partdisplay == "0":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "":
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] == "2":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T2T6" and Partdisplay == "0":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "":
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] != "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T1T6" and Partdisplay == "0":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "":
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] != "2":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T6" and Partdisplay == "0":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "":
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] != "1" and \
|
|
|
+ str(tableWidgetDispalydataAll[i]["8"])[0] != "2":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text != "" and text != "T1" and text != "T2" and text != "T6" and text != "T2T6" and text != "T1T6" and Partdisplay == "1":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ if str(text) in str(tableWidgetDispalydataAll[i]) and tableWidgetDispalydataAll[i]["109"] != '4':
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T1" and Partdisplay == "1":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] != '4':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] == "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T2" and Partdisplay == "1":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] != '4':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] == "2":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T2T6" and Partdisplay == "1":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] != '4':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] != "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T1T6" and Partdisplay == "1":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] != '4':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] != "2":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T6" and Partdisplay == "1":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] != '4':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] != "1" and \
|
|
|
+ str(tableWidgetDispalydataAll[i]["8"])[0] != "2":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "" and Partdisplay == "1":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(tableWidgetDispalydataAll[i]["109"])
|
|
|
+ if tableWidgetDispalydataAll[i]["109"] != '4':
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text != "" and text != "T1" and text != "T2" and text != "T6" and text != "T2T6" and text != "T1T6"and Partdisplay == "3":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ if str(text) in str(tableWidgetDispalydataAll[i]) and tableWidgetDispalydataAll[i]["109"] == '1':
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T1" and Partdisplay == "3":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] == '1':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] == "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T2" and Partdisplay == "3":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] == '1':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] == "2":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T2T6" and Partdisplay == "3":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] == '1':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] != "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T1T6" and Partdisplay == "3":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] == '1':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] != "2":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "T6" and Partdisplay == "3":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(str(tableWidgetDispalydataAll[i]["8"]))
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"]) != "" and tableWidgetDispalydataAll[i]["109"] == '1':
|
|
|
+ if str(tableWidgetDispalydataAll[i]["8"])[0] != "1" and \
|
|
|
+ str(tableWidgetDispalydataAll[i]["8"])[0] != "2":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif str(tableWidgetDispalydataAll[i]["8"]) == "" and str(tableWidgetDispalydataAll[i]["109"]) == "1":
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ elif text == "" and Partdisplay == "3":
|
|
|
+ # print(tableWidgetDispalydataAll)
|
|
|
+ for i in tableWidgetDispalydataAll.keys():
|
|
|
+ # print(tableWidgetDispalydataAll[i]["109"])
|
|
|
+ if tableWidgetDispalydataAll[i]["109"] == '1':
|
|
|
+ sorttableWidgetDispalydata[str(num)] = tableWidgetDispalydataAll[i]
|
|
|
+ num += 1
|
|
|
+ else:
|
|
|
+ sorttableWidgetDispalydata = tableWidgetDispalydataAll
|
|
|
+ return sorttableWidgetDispalydata
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def sorttableWidgetDisplayChange(self):
|
|
|
+ try:
|
|
|
+ text = self.text
|
|
|
+ logall = self.severpost_nomeassge("tableWidgetDisplayChange", "/%s" % self.selectedtime, "", "")
|
|
|
+ self.sortlogchange = {}
|
|
|
+ num = 0
|
|
|
+ if text != "":
|
|
|
+ for i in logall.keys():
|
|
|
+ if str(text) in str(logall[i]):
|
|
|
+ self.sortlogchange[str(num)] = logall[i]
|
|
|
+ num += 1
|
|
|
+ else:
|
|
|
+ self.sortlogchange = logall
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def sorttableWidgetPeopleDisplay(self):
|
|
|
+ try:
|
|
|
+ if self.displayselect_mode == "" or self.displayselect_mode == []:
|
|
|
+ text = self.text
|
|
|
+ self.peopleOnJob = [""]
|
|
|
+ bc = self.selectedbc
|
|
|
+ nowDaystr = self.selectedtime # 选择的日期
|
|
|
+ diplaylistall = self.severpost_nomeassge("qtPeopleLoad", "/%s" % nowDaystr, "/%s" % bc, "")
|
|
|
+ self.sortdiplaylist = {}
|
|
|
+ num = 0
|
|
|
+ if text != "":
|
|
|
+ for i in diplaylistall.keys():
|
|
|
+ if str(text) in str(diplaylistall[i]):
|
|
|
+ self.sortdiplaylist[str(num)] = diplaylistall[i]
|
|
|
+ num += 1
|
|
|
+ else:
|
|
|
+ self.sortdiplaylist = diplaylistall
|
|
|
+ for i in self.sortdiplaylist.keys():
|
|
|
+ self.peopleOnJob.append(self.sortdiplaylist[i]["姓名"])
|
|
|
+ else:
|
|
|
+ names = self.displayselect_mode
|
|
|
+ text = self.text
|
|
|
+ self.peopleOnJob = [""]
|
|
|
+ bc = self.selectedbc
|
|
|
+ nowDaystr = self.selectedtime # 选择的日期
|
|
|
+ diplaylistall = self.severpost_nomeassge("qtPeopleLoad", "/%s" % nowDaystr, "/%s" % bc, "")
|
|
|
+ self.sortdiplaylist = {}
|
|
|
+ num = 0
|
|
|
+ if text != "":
|
|
|
+ for i in diplaylistall.keys():
|
|
|
+ if str(text) in str(diplaylistall[i]):
|
|
|
+ for name in names:
|
|
|
+ if str(name) in str(diplaylistall[i]):
|
|
|
+ self.sortdiplaylist[str(num)] = diplaylistall[i]
|
|
|
+ num += 1
|
|
|
+ else:
|
|
|
+ for i in diplaylistall.keys():
|
|
|
+ for name in names:
|
|
|
+ if str(name) in str(diplaylistall[i]):
|
|
|
+ self.sortdiplaylist[str(num)] = diplaylistall[i]
|
|
|
+ num += 1
|
|
|
+ for i in self.sortdiplaylist.keys():
|
|
|
+ self.peopleOnJob.append(self.sortdiplaylist[i]["姓名"])
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def sorttableWidgetLOGDispaly(self):
|
|
|
+ try:
|
|
|
+ text = self.text
|
|
|
+ logall = self.severpost_nomeassge("tableWidgetLOGDispaly", "/%s" % self.selectedtime, "", "")
|
|
|
+ self.sortlog = {}
|
|
|
+ num = 0
|
|
|
+ if text != "":
|
|
|
+ for i in logall.keys():
|
|
|
+ if str(text) in str(logall[i]):
|
|
|
+ self.sortlog[str(num)] = logall[i]
|
|
|
+ num += 1
|
|
|
+ else:
|
|
|
+ self.sortlog = logall
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+
|
|
|
+class MainWidget(QWidget, Ui_Form):
|
|
|
+ AddPG_signal = QtCore.pyqtSignal(str, str, str)
|
|
|
+ LoginWidget_signal = QtCore.pyqtSignal(str)
|
|
|
+ addUserWidget_signal = QtCore.pyqtSignal(str)
|
|
|
+
|
|
|
+ def __init__(self):
|
|
|
+ super().__init__()
|
|
|
+ try:
|
|
|
+ self.displaySelectstr3 = "0"
|
|
|
+ self.displaySelect_mode = "1"
|
|
|
+ self.sum = 0
|
|
|
+ self.flightsum = 0
|
|
|
+ self.localip = None
|
|
|
+ self.severupdatests = "0"
|
|
|
+ self.localtoken = None
|
|
|
+ self.searchpeoplestr = []
|
|
|
+ self.sorttableWidgetDispalydata = {}
|
|
|
+ self.sorttableWidgetDispalydataALL = {}
|
|
|
+ self.sortlogchange = {}
|
|
|
+ self.sortlog = {}
|
|
|
+ self.sortdiplaylist = {}
|
|
|
+ self.peopleOnJob = [""]
|
|
|
+ self.loginSts = False
|
|
|
+ self.amroLoginSts = False
|
|
|
+ self.findSever = False
|
|
|
+ self.FLIGHTonChange_text = ""
|
|
|
+ self.changeonChange_text = ""
|
|
|
+ self.logonChange_text = ""
|
|
|
+ self.threadpool = QThreadPool()
|
|
|
+ self.doubleclickLock = 0
|
|
|
+ self.vin="328"
|
|
|
+ self.timelock=datetime.datetime.now()
|
|
|
+ self.doubleclickLockUpdate = 0
|
|
|
+ self.maintainAuthCheckSts = 1
|
|
|
+ self.peolpleonChange_text = ""
|
|
|
+ self.changeupdatetime=datetime.datetime.now()
|
|
|
+ self.setupUi(self)
|
|
|
+ # self.show()
|
|
|
+ self.loginWidget = LoginWidget()
|
|
|
+ self.findServerWidget = findServerWidget()
|
|
|
+ self.mapWebPage = mapWebWidget()
|
|
|
+ self.checkCalllist = checkCalllist()
|
|
|
+ self.checkCalllist.checkCalllist_signal.connect(self.checkCalllistclose)
|
|
|
+
|
|
|
+ # self.amroLoginWidget = amroLoginWidget()
|
|
|
+ if self.findSever:
|
|
|
+ pass
|
|
|
+ # if self.loginSts:
|
|
|
+ # self.show()
|
|
|
+ # else:
|
|
|
+ # self.loginWidget.show()
|
|
|
+ else:
|
|
|
+ self.findServerWidget.show()
|
|
|
+
|
|
|
+ self.findServerWidget.selectServer_signal.connect(self.setServer)
|
|
|
+
|
|
|
+ # self.amroLoginWidget.amroLogin_signal.connect(self.displayMain)
|
|
|
+ # data
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def setServer(self, *args):
|
|
|
+ try:
|
|
|
+ #self.ipinfo = args[0] + ':9527'
|
|
|
+ self.ipinfo = args[0] + ':7162'
|
|
|
+ self.clickrow = ""
|
|
|
+ self.clickcolumn = ""
|
|
|
+ # print(self.ipinfo)
|
|
|
+ self.findServerWidget.close()
|
|
|
+ self.loginWidget.ipinfo = self.ipinfo
|
|
|
+ self.loginWidget.login_signal.connect(self.displayMain)
|
|
|
+ self.loginWidget.login_user.connect(self.setUser)
|
|
|
+ checksts="ok"
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/remoteCheck/16"
|
|
|
+ res=requests.get(url=ip, timeout=180).json()
|
|
|
+ if res["返回值"] != "ok":
|
|
|
+ checksts = res["返回值"]
|
|
|
+
|
|
|
+ if checksts == "ok":
|
|
|
+ if self.loginSts:
|
|
|
+ self.initDisplay()
|
|
|
+ self.show()
|
|
|
+ else:
|
|
|
+ self.loginWidget.show()
|
|
|
+ else:
|
|
|
+ QMessageBox.warning(self, "提示", "有新版更新!请前往NAS共享平台[机务一队/天府机务分部/31准备组无纸化办公/1航班助手]获取综合平台最新版本【最新版版本号:%s】!!"%checksts)
|
|
|
+ self.close()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def remotelogin(self):
|
|
|
+ self.amrologin = amroLoginWidget()
|
|
|
+ self.amrologin.ipinfo = self.ipinfo
|
|
|
+ self.amrologin.show()
|
|
|
+
|
|
|
+ def remoteCookielogin(self):
|
|
|
+ self.amrologin = amroLoginWidget2()
|
|
|
+ self.amrologin.ipinfo = self.ipinfo
|
|
|
+ self.amrologin.show()
|
|
|
+
|
|
|
+ def setIpPhone(self):
|
|
|
+ try:
|
|
|
+ res=""
|
|
|
+ if os.path.exists("ipPhoneIp.code") is True:
|
|
|
+ read_path = os.getcwd() + "\\ipPhoneIp.code"
|
|
|
+ with open(read_path, "r", encoding="utf-8") as f2:
|
|
|
+ rember_2 = f2.read()
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/setIpPhone/%s" % rember_2
|
|
|
+ res=requests.get(url=ip, timeout=180).json()["返回值"]
|
|
|
+ except Exception:
|
|
|
+ QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ if res =="ok":
|
|
|
+ QMessageBox.warning(self, "提示", "服务器IP电话配置成功,请测试后启用自动拨号!")
|
|
|
+ else:
|
|
|
+ QMessageBox.warning(self, "警告", "服务器IP电话配置失败,建议重启自动拨号电话后再次配置!")
|
|
|
+ else:
|
|
|
+ QMessageBox.warning(self, "警告", "程序下未找到指定配置文件!")
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def setLocalIpPhone(self):
|
|
|
+ try:
|
|
|
+ self.localipset = localipset()
|
|
|
+ self.localipset.localipset_signal.connect(self.setLocalIpPhoneip)
|
|
|
+ self.localipset.localip = self.localip
|
|
|
+ self.localipset.start()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def setLocalIpPhoneip(self, *args):
|
|
|
+ try:
|
|
|
+ self.localip = args[0]
|
|
|
+ self.QThreadSortNow("setlocalip")
|
|
|
+ self.localipset.close()
|
|
|
+ # print(self.localip)
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def checkCalllistupdate(self):
|
|
|
+ try:
|
|
|
+ self.checkCalllist.ipinfo = self.ipinfo
|
|
|
+ self.checkCalllist.selectedtime = self.selectedtime
|
|
|
+ self.checkCalllist.start()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def checkCalllistclose(self, *args):
|
|
|
+ try:
|
|
|
+ reply = args[0]
|
|
|
+ # print(reply)
|
|
|
+ if reply == "StandardButton.Yes":
|
|
|
+ self.checkCalllist.hide()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def showcheckLogs(self):
|
|
|
+ try:
|
|
|
+ self.checkLogs = checkLogs()
|
|
|
+ self.checkLogs.ipinfo = self.ipinfo
|
|
|
+ self.checkLogs.start()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def initDisplay(self):
|
|
|
+ try:
|
|
|
+ self.oldjsondata = None
|
|
|
+ self.cookie = None
|
|
|
+ self.fl = None
|
|
|
+ self.Auth=9999
|
|
|
+ self.tts = QTextToSpeech()
|
|
|
+ self.tts.setEngine('sapi')
|
|
|
+
|
|
|
+ nowDay = datetime.datetime.now()
|
|
|
+ nowDayStr = nowDay.strftime("%Y%m%d")
|
|
|
+ self.dateEdit.setDateTime(nowDay)
|
|
|
+ self.selectedtime = self.dateEdit.date().toString('yyyyMMdd')
|
|
|
+
|
|
|
+ # self.setipinfo()
|
|
|
+ self.initFlightDatabase()
|
|
|
+ # self.radioButtonDay.
|
|
|
+
|
|
|
+ phoneLabel = ["序号", "姓名", "部门", "电话","name"]
|
|
|
+ self.tableWidget_3.setColumnCount(len(phoneLabel))
|
|
|
+ self.tableWidget_3.verticalHeader().setVisible(False)
|
|
|
+ self.tableWidget_3.setHorizontalHeaderLabels(phoneLabel)
|
|
|
+ self.lineEdit_phonenum.textChanged.connect(self.changeonPhone)
|
|
|
+ self.tableWidget_3.setContextMenuPolicy(Qt.ContextMenuPolicy.CustomContextMenu)
|
|
|
+ self.tableWidget_3.customContextMenuRequested.connect(self.generateMenu3)
|
|
|
+
|
|
|
+ peopleLabel = ["序号", "姓名", "角色", "总量", "当前", "最后时间"]
|
|
|
+ self.tableWidgetPerson.setColumnCount(len(peopleLabel))
|
|
|
+ self.tableWidgetPerson.verticalHeader().setVisible(False)
|
|
|
+ self.tableWidgetPerson.setHorizontalHeaderLabels(peopleLabel)
|
|
|
+ self.tableWidgetPerson.setContextMenuPolicy(Qt.ContextMenuPolicy.CustomContextMenu)
|
|
|
+ self.tableWidgetPerson.customContextMenuRequested.connect(self.generateMenu2)
|
|
|
+
|
|
|
+ self.pushButton.clicked.connect(self.selectedtime_bc)
|
|
|
+ self.radioButtonDay.toggled.connect(self.selected_bc_A)
|
|
|
+ self.radioButtonNight.toggled.connect(self.selected_bc_B)
|
|
|
+ judge_bc = self.severpost_nomeassge("judge_bc", "", "", "", "")["bc"]
|
|
|
+ if judge_bc == "A":
|
|
|
+ self.radioButtonDay.setChecked(True)
|
|
|
+ elif judge_bc == "B":
|
|
|
+ self.radioButtonNight.setChecked(True)
|
|
|
+
|
|
|
+ self.AddPG = AddPGWidget()
|
|
|
+ self.AddPG_signal.connect(self.AddPG.getname)
|
|
|
+ self.pushButtonAddPG.clicked.connect(self.AddPG_widget)
|
|
|
+
|
|
|
+ self.displayMode = "A"
|
|
|
+ self.displayLabel = ["备","序号","备","机号","航班信息","机型","机型信息","发动机","备","航班号","备","计达","备","预达",
|
|
|
+ "备","计飞","备","机位","备","类型","备","放行","备","工1","备","工2","备","工3","备","工4",
|
|
|
+ "备","班组长","备","到位","备","放行","备","销夹","备","随机","备","随机","备","保留","备","工作包",
|
|
|
+ "备","进出港城市","备","维修人员","备","放行","备","航班编号","备","任务编号","备","TATD","备","类型",
|
|
|
+ "备","附加消息","备","备","备","备"]
|
|
|
+
|
|
|
+
|
|
|
+ '''
|
|
|
+ self.displayLabel = ["序号", "机号", "机型", "发动机", "航班号", "计达", "预达", "计飞", "机位", "类型", "放行", "工1", "工2",
|
|
|
+ "工3", "工4", "班组长", "到位", "放行", "销夹", "随机", "随机", "保留", "工作包", "进出港城市", "维修人员",
|
|
|
+ "放行", "航班编号", "任务编号", "TATD", "类型", "附加消息"]
|
|
|
+ '''
|
|
|
+ self.tableWidgetFlight.setColumnCount(len(self.displayLabel))
|
|
|
+ self.tableWidgetFlight.verticalHeader().setVisible(False)
|
|
|
+ self.tableWidgetFlight.setHorizontalHeaderLabels(self.displayLabel)
|
|
|
+ self.tableWidgetFlight.cellDoubleClicked.connect(self.itemclick2)
|
|
|
+ self.tableWidgetFlight.cellClicked.connect(self.itemclick)
|
|
|
+ # self.lineEdit_phonenum.setText("")
|
|
|
+
|
|
|
+ # 允许单机右键响应
|
|
|
+ self.tableWidgetFlight.setContextMenuPolicy(Qt.ContextMenuPolicy.CustomContextMenu)
|
|
|
+ # 构建右键的点击事件
|
|
|
+ self.tableWidgetFlight.customContextMenuRequested.connect(self.generateMenu)
|
|
|
+
|
|
|
+ loglabel = ["序号", "待办信息", "操作", "编号", "航班编号", "提示内容"]
|
|
|
+ self.tableWidget.setColumnCount(len(loglabel))
|
|
|
+ self.tableWidget.verticalHeader().setVisible(False)
|
|
|
+ self.tableWidget.setHorizontalHeaderLabels(loglabel)
|
|
|
+
|
|
|
+
|
|
|
+ self.tableWidgetLOG.setColumnCount(2)
|
|
|
+ self.tableWidgetLOG.verticalHeader().setVisible(False)
|
|
|
+ self.tableWidgetLOG.setHorizontalHeaderLabels(["序号", '日志信息'])
|
|
|
+
|
|
|
+ self.checkBox.stateChanged.connect(self.displayChange)
|
|
|
+ self.checkBox.setChecked(True)
|
|
|
+
|
|
|
+ self.checkBox_2.stateChanged.connect(self.displaySelect2)
|
|
|
+ self.checkBox_2.setChecked(True)
|
|
|
+
|
|
|
+ self.checkBox_3.stateChanged.connect(self.displaySelect3)
|
|
|
+ self.checkBox_3.setChecked(False)
|
|
|
+
|
|
|
+ self.severpost_nomeassge("createWorkloadtablesFromPg", "/%s" % self.selectedtime, "", "", "")
|
|
|
+
|
|
|
+ self.pushbutton_searchflight.clicked.connect(self.FLIGHTonChangeman)
|
|
|
+ self.pushButton_searchpeople.clicked.connect(self.searchpeople)
|
|
|
+ self.pushButton_5.clicked.connect(self.disearchpeople)
|
|
|
+ self.pushButton_2.clicked.connect(self.call)
|
|
|
+ self.pushButton_3.clicked.connect(self.calldown)
|
|
|
+ self.pushButton_4.clicked.connect(self.relogin)
|
|
|
+ self.pushButton_searchchange.clicked.connect(self.changeonChange)
|
|
|
+ self.pushButton_searchlog.clicked.connect(self.logonChange)
|
|
|
+
|
|
|
+ self.lineEdit_flight.textEdited[str].connect(lambda: self.changebackground())
|
|
|
+ self.lineEdit_people.textEdited[str].connect(lambda: self.changebackground())
|
|
|
+ self.lineEdit_change.textEdited[str].connect(lambda: self.changebackground())
|
|
|
+ self.lineEdit_log.textEdited[str].connect(lambda: self.changebackground())
|
|
|
+ self.lineEdit_flight.textChanged.connect(self.FLIGHTonChange)
|
|
|
+ self.lineEdit_log.textChanged.connect(self.logonChange)
|
|
|
+ self.lineEdit_people.textChanged.connect(self.peolpleonChange)
|
|
|
+ self.lineEdit_change.textChanged.connect(self.changeonChange)
|
|
|
+
|
|
|
+ self.serchTimer = QTimer()
|
|
|
+ self.serchTimer.start(3 * 1000)
|
|
|
+ self.serchTimer.timeout.connect(self.QThreadSortTimer)
|
|
|
+ self.updatecheck()
|
|
|
+ self.taskAtuoCheck("1")
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def searchpeople(self):
|
|
|
+ try:
|
|
|
+ self.searchpeoplelist = searchpeople_get()
|
|
|
+ self.searchpeoplelist.searchpeoplelist_signal.connect(self.searchpeople_get)
|
|
|
+ self.searchpeoplelist.ipinfo = self.ipinfo
|
|
|
+ self.searchpeoplelist.selectedtime = self.selectedtime
|
|
|
+ self.searchpeoplelist.selectedbc = self.selectedbc
|
|
|
+ self.searchpeoplelist.Allpeoplelist = self.sortdiplaylist
|
|
|
+ # self.searchpeoplelist.show()
|
|
|
+ self.searchpeoplelist.start()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def searchpeople_get(self, *args):
|
|
|
+ try:
|
|
|
+ # print(args)
|
|
|
+ self.searchpeoplestr = args[0]
|
|
|
+ self.QThreadSortNow("people")
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def disearchpeople(self):
|
|
|
+ try:
|
|
|
+ self.searchpeoplestr = []
|
|
|
+ self.QThreadSortNow("people")
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def call(self):
|
|
|
+ try:
|
|
|
+ if self.localtoken != None and self.localip != None:
|
|
|
+ callnum = self.lineEdit_phonenum.text()
|
|
|
+ try:
|
|
|
+ data = {"PHB_AutoDialNumber": callnum,
|
|
|
+ "ReturnPage": "/contacts.htm",
|
|
|
+ "AutoDialSubmit": "submit",
|
|
|
+ "PHB_AutoDialLine": "1"
|
|
|
+ }
|
|
|
+ header = {
|
|
|
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
|
|
|
+ "Connection": "keep-alive",
|
|
|
+ "Cookie": self.localtoken
|
|
|
+ }
|
|
|
+ requests.post(url="http://%s/contacts.htm" % self.localip, data=data, headers=header)
|
|
|
+ except Exception:
|
|
|
+ QMessageBox.warning(self, "提示", "IP电话连接失败,请重新配置或再登陆!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ else:
|
|
|
+ QMessageBox.warning(self, "提示", "未配置本地IP电话,请先配置!")
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def calldown(self):
|
|
|
+ try:
|
|
|
+ if self.localtoken != None and self.localip != None:
|
|
|
+ try:
|
|
|
+ data1 = {"HangupSubmit": "submit"}
|
|
|
+ header1 = {
|
|
|
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
|
|
|
+ "Connection": "keep-alive",
|
|
|
+ "Cookie": self.localtoken,
|
|
|
+ }
|
|
|
+ requests.post(url="http://%s/contacts.htm" % self.localip, data=data1, headers=header1)
|
|
|
+ except Exception:
|
|
|
+ QMessageBox.warning(self, "提示", "IP电话连接失败,请重新配置或再登陆!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ else:
|
|
|
+ QMessageBox.warning(self, "提示", "未配置本地IP电话,请先配置!")
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def relogin(self):
|
|
|
+ try:
|
|
|
+ if self.localip != None:
|
|
|
+ self.QThreadSortNow("setlocalip")
|
|
|
+ else:
|
|
|
+ QMessageBox.warning(self, "提示", "未配置本地IP电话,请先配置!")
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def changebackground(self):
|
|
|
+ try:
|
|
|
+ FLIGHTonChange_text = self.lineEdit_flight.text()
|
|
|
+ peolpleonChange_text = self.lineEdit_people.text()
|
|
|
+ changeonChange_text = self.lineEdit_change.text()
|
|
|
+ logonChange_text = self.lineEdit_log.text()
|
|
|
+ if FLIGHTonChange_text != "":
|
|
|
+ self.lineEdit_flight.setStyleSheet("background-color:yellow;color:red;font-weight:bold")
|
|
|
+ else:
|
|
|
+ self.lineEdit_flight.setStyleSheet("background-color:white")
|
|
|
+ if peolpleonChange_text != "":
|
|
|
+ self.lineEdit_people.setStyleSheet("background-color:yellow;color:red;font-weight:bold")
|
|
|
+ else:
|
|
|
+ self.lineEdit_people.setStyleSheet("background-color:white")
|
|
|
+ if changeonChange_text != "":
|
|
|
+ self.lineEdit_change.setStyleSheet("background-color:yellow;color:red;font-weight:bold")
|
|
|
+ else:
|
|
|
+ self.lineEdit_change.setStyleSheet("background-color:white")
|
|
|
+ if logonChange_text != "":
|
|
|
+ self.lineEdit_log.setStyleSheet("background-color:yellow;color:red;font-weight:bold")
|
|
|
+ else:
|
|
|
+ self.lineEdit_log.setStyleSheet("background-color:white")
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def changeonPhone(self):
|
|
|
+ try:
|
|
|
+ self.changeonPhone_text = self.lineEdit_phonenum.text()
|
|
|
+ self.QThreadSortNow("phone")
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def FLIGHTonChange(self):
|
|
|
+ try:
|
|
|
+ self.FLIGHTonChange_text = self.lineEdit_flight.text()
|
|
|
+ # print(self.FLIGHTonChange_text)
|
|
|
+ self.QThreadSortNow("search")
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ def FLIGHTonChangeman(self):
|
|
|
+ try:
|
|
|
+ now=datetime.datetime.now()- datetime.timedelta(seconds=5)
|
|
|
+ if now > self.timelock:
|
|
|
+ print("点击")
|
|
|
+ self.timelock=now + datetime.timedelta(seconds=5)
|
|
|
+ self.FLIGHTonChange_text = self.lineEdit_flight.text()
|
|
|
+ # print(self.FLIGHTonChange_text)
|
|
|
+ #self.QThreadSortNow("ALL")
|
|
|
+ self.QThreadSortNow("main")
|
|
|
+
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def peolpleonChange(self):
|
|
|
+ try:
|
|
|
+ self.peolpleonChange_text = self.lineEdit_people.text()
|
|
|
+ self.QThreadSortNow("people")
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def changeonChange(self):
|
|
|
+ try:
|
|
|
+ self.changeonChange_text = self.lineEdit_change.text()
|
|
|
+ self.QThreadSortNow("change")
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def logonChange(self):
|
|
|
+ try:
|
|
|
+ self.logonChange_text = self.lineEdit_log.text()
|
|
|
+ self.QThreadSortNow("log")
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def taskAtuoCheck(self, time):
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/taskAtuoCheck/%s" % time
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ # print("准备组任务自动更新") #客户端连接监测一次,12H监测一次
|
|
|
+ # logging.info("准备组任务自动更新")
|
|
|
+ except Exception:
|
|
|
+ QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def updatecheck(self):
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/updatecheck"
|
|
|
+ res = requests.get(url=ip, timeout=30).json()
|
|
|
+ if res["返回值"] == "1":
|
|
|
+ self.label_11.setText("正 常")
|
|
|
+ self.label_11.setStyleSheet(
|
|
|
+ "background-color:green;color:white;border-radius:5px;padding:2px;font-weight:bold")
|
|
|
+ if self.severupdatests != "1":
|
|
|
+ self.severupdatests = "1"
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "服务器状态变更为正常/" + "%s/" % str("系统上报") + "%s" % str(datetime.datetime.now())
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ QMessageBox.warning(self,"日志功能失效", "操作日志功能失效请联系管理员!")
|
|
|
+
|
|
|
+ elif res["返回值"] == "0":
|
|
|
+ self.label_11.setText("未更新")
|
|
|
+ self.label_11.setStyleSheet("background-color:yellow;red:white;border-radius:5px;padding:2px;font-weight:bold")
|
|
|
+ if self.severupdatests != "0":
|
|
|
+ self.severupdatests = "0"
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "服务器状态变更为未更新,航班数据暂停刷新/" + "%s/" % str("系统上报") + "%s" % str(datetime.datetime.now())
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ QMessageBox.warning(self,"日志功能失效", "操作日志功能失效请联系管理员!")
|
|
|
+ QMessageBox.warning(self, "警告", "服务器状态变更为未更新,航班数据暂停刷新,请检查服务器端AMRO登录情况或联系管理员!")
|
|
|
+ except Exception:
|
|
|
+ self.label_11.setText("已断开")
|
|
|
+ self.label_11.setStyleSheet("background-color:red;color:white;border-radius:5px;padding:2px;font-weight:bold")
|
|
|
+ if self.severupdatests != "-":
|
|
|
+ self.severupdatests = "-"
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "服务器状态变更为断开,航班数据暂停刷新/" + "%s/" % str("系统上报") + "%s" % str(datetime.datetime.now())
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
|
|
|
+ self.restartServer(self.ipinfo.split(':')[0],9935)
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def initFlightDatabase(self):
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/initFlightDatabase/" + str(self.selectedtime)
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def severpost_nomeassge(self, postname, postdata, postdata2, postdata3, postdata4):
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/" + str(postname) + str(postdata) + str(postdata2) + str(postdata3) + str(postdata4)
|
|
|
+ res = requests.get(url=ip, timeout=30).json()
|
|
|
+ return res
|
|
|
+ except Exception:
|
|
|
+ QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def severpostData_nomeassge(self, postname, data: dict):
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/" + str(postname)
|
|
|
+ data = json.dumps(data)
|
|
|
+ res = requests.post(url=ip, data=data, timeout=120).json()
|
|
|
+ return res
|
|
|
+ except Exception:
|
|
|
+ QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def AddPG_widget(self):
|
|
|
+ if int(self.authority) != 3:
|
|
|
+ try:
|
|
|
+ self.AddPG.show()
|
|
|
+ self.AddPG_signal.emit(self.user, self.selectedtime, self.ipinfo)
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ else:
|
|
|
+ self.show_message2("提示", "权限不够,请联系管理员!")
|
|
|
+
|
|
|
+ def selected_bc_A(self):
|
|
|
+ try:
|
|
|
+ bc = self.sender()
|
|
|
+ if bc.isChecked():
|
|
|
+ self.selectedbc = "A"
|
|
|
+ # print("白班")
|
|
|
+ self.severpost_nomeassge("createWorkloadtablesFromPg", "/%s" % self.selectedtime, "", "", "")
|
|
|
+ if self.loginSts == True:
|
|
|
+ self.QThreadSortNow("people")
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def selected_bc_B(self):
|
|
|
+ try:
|
|
|
+ bc = self.sender()
|
|
|
+ if bc.isChecked():
|
|
|
+ self.selectedbc = "B"
|
|
|
+ # print("夜班")
|
|
|
+ self.severpost_nomeassge("createWorkloadtablesFromPg", "/%s" % self.selectedtime, "", "", "")
|
|
|
+ if self.loginSts == True:
|
|
|
+ self.QThreadSortNow("people")
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def displaySelect2(self):
|
|
|
+ try:
|
|
|
+ displaySelect = self.sender()
|
|
|
+ if displaySelect.isChecked():
|
|
|
+ self.displaySelectstr2 = "1"
|
|
|
+ if self.loginSts == True:
|
|
|
+ if self.displaySelectstr3 == "1":
|
|
|
+ self.displaySelect_mode = "3"
|
|
|
+ else:
|
|
|
+ self.displaySelect_mode = "1"
|
|
|
+ #self.QThreadSortNow("main")
|
|
|
+ self.QThreadSortNow("search")
|
|
|
+
|
|
|
+ else:
|
|
|
+ self.displaySelectstr2 = "0"
|
|
|
+ self.displaySelect_mode = "0"
|
|
|
+ if self.loginSts == True:
|
|
|
+ if self.displaySelectstr3 == "1":
|
|
|
+ self.checkBox_3.setChecked(False)
|
|
|
+ else:
|
|
|
+ # self.QThreadSortNow("main")
|
|
|
+ self.QThreadSortNow("search")
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def displaySelect3(self):
|
|
|
+ try:
|
|
|
+ displaySelect = self.sender()
|
|
|
+ if displaySelect.isChecked():
|
|
|
+ self.displaySelectstr3 = "1"
|
|
|
+ self.displaySelect_mode = "3"
|
|
|
+ if self.loginSts == True:
|
|
|
+ if self.displaySelectstr2 == "0":
|
|
|
+ self.checkBox_2.setChecked(True)
|
|
|
+ else:
|
|
|
+ # self.QThreadSortNow("main")
|
|
|
+ self.QThreadSortNow("search")
|
|
|
+ else:
|
|
|
+ self.displaySelectstr3 = "0"
|
|
|
+ if self.loginSts == True:
|
|
|
+ if self.displaySelectstr2 == "0":
|
|
|
+ self.displaySelect_mode = "0"
|
|
|
+ else:
|
|
|
+ self.displaySelect_mode = "1"
|
|
|
+ # self.QThreadSortNow("main")
|
|
|
+ self.QThreadSortNow("search")
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def displayChange(self):
|
|
|
+ try:
|
|
|
+ bc = self.sender()
|
|
|
+ if bc.isChecked():
|
|
|
+ if self.loginSts == True:
|
|
|
+ self.displayMode = "A"
|
|
|
+ self.QThreadSortNow("main")
|
|
|
+ # print("A模式")
|
|
|
+ else:
|
|
|
+ if self.loginSts == True:
|
|
|
+ self.displayMode = "B"
|
|
|
+ self.QThreadSortNow("main")
|
|
|
+ # print("B模式")
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def selectedtime_bc(self):
|
|
|
+ try:
|
|
|
+ self.selectedtime = self.dateEdit.date().toString('yyyyMMdd')
|
|
|
+ judgedate = (datetime.date.today() + datetime.timedelta(days=1)).strftime("%Y%m%d")
|
|
|
+ if self.selectedtime == judgedate:
|
|
|
+ QMessageBox.warning(self, "重要提示","明日航班20:30后提供查询功能!由于第二日航班波动较大,22:00前仅提供查询功能,22:00以后提供第二日航班的航班变更以及节点监控功能!")
|
|
|
+ self.initFlightDatabase()
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/map/" + str(self.selectedtime)
|
|
|
+ self.QThreadSortNow("main")
|
|
|
+ self.QThreadSortNow("people")
|
|
|
+ # print(self.selectedtime)
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def show_info(self, title, text):
|
|
|
+ try:
|
|
|
+ reply = QMessageBox.question(self, title, text,QMessageBox.StandardButton.Yes | QMessageBox.StandardButton.Cancel,QMessageBox.StandardButton.Cancel)
|
|
|
+ if reply == QMessageBox.StandardButton.Yes:
|
|
|
+ return 1
|
|
|
+ else:
|
|
|
+ return 0
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def displayMain(self, *args):
|
|
|
+ try:
|
|
|
+ if args[0]:
|
|
|
+ self.initDisplay()
|
|
|
+ self.loginSts = True
|
|
|
+ self.loginWidget.close()
|
|
|
+ self.show()
|
|
|
+ self.QThreadSortNow("main")
|
|
|
+ self.QThreadSortNow("change")
|
|
|
+ self.QThreadSortNow("people")
|
|
|
+ self.QThreadSortNow("log")
|
|
|
+ self.initlocalipback()
|
|
|
+
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def setUser(self, args):
|
|
|
+ try:
|
|
|
+ self.user = args[1]
|
|
|
+ self.authority = args[3]
|
|
|
+ self.label_username.setText(self.user)
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def AddFlight(self):
|
|
|
+ try:
|
|
|
+ self.addFlight = addFlightWidget()
|
|
|
+ self.addFlight.ipinfo = self.ipinfo
|
|
|
+ self.addFlight.user = self.user
|
|
|
+ self.addFlight.show()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def HandoverFlight(self):
|
|
|
+ try:
|
|
|
+ self.handoverFlight = handoverFlightWidget()
|
|
|
+ self.handoverFlight.ipinfo = self.ipinfo
|
|
|
+ self.handoverFlight.user = self.user
|
|
|
+ self.handoverFlight.Allflight = self.sorttableWidgetDispalydataALL
|
|
|
+ self.handoverFlight.selectedtime=self.selectedtime
|
|
|
+ self.handoverFlight.handoverFlight_signal.connect(self.handoverFlight_update)
|
|
|
+ self.handoverFlight.show()
|
|
|
+ self.handoverFlight.start()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def handoverFlight_update(self, *args):
|
|
|
+ try:
|
|
|
+ # print(args)
|
|
|
+ self.QThreadSortNow("main")
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ def showAdduser(self):
|
|
|
+ try:
|
|
|
+ self.addUser = addUserWidget()
|
|
|
+ self.addUser.ipinfo = self.ipinfo
|
|
|
+ self.addUser.user = self.user
|
|
|
+ self.addUser.authority=self.authority
|
|
|
+ self.addUser.show()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def showChangePassword(self):
|
|
|
+ try:
|
|
|
+ self.changePassword = changePassword()
|
|
|
+ self.changePassword.ipinfo = self.ipinfo
|
|
|
+ self.changePassword.user = self.user
|
|
|
+ self.changePassword.show()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def showchangeAuth(self):
|
|
|
+ try:
|
|
|
+ self.changeAuth = changeAuth()
|
|
|
+ self.changeAuth.ipinfo = self.ipinfo
|
|
|
+ self.changeAuth.user = self.user
|
|
|
+ self.changeAuth.start()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ '''
|
|
|
+ def showchangeFlight(self):
|
|
|
+ try:
|
|
|
+ self.changeFlight = changeFlight()
|
|
|
+ self.changeFlight.ipinfo = self.ipinfo
|
|
|
+ self.changeFlight.user = self.user
|
|
|
+ self.changeFlight.start()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ '''
|
|
|
+ def openFile(self):
|
|
|
+ try:
|
|
|
+ fileName, _ = QFileDialog.getOpenFileName(self, '打开文件', '/')
|
|
|
+ # print(fileName)
|
|
|
+ data = {"fileName": fileName}
|
|
|
+ res = self.severpostData_nomeassge("get_dic", data)["返回值"]
|
|
|
+ if res != "ok":
|
|
|
+ self.show_message2("警告", "文件错误")
|
|
|
+ elif res == "ok":
|
|
|
+ self.show_message2("提示", "人员信息添加成功!")
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def saveCase(self):
|
|
|
+ try:
|
|
|
+ fileName, _ = QFileDialog.getSaveFileName(None, "选取文件夹", "/停场航班导入模板.xlsx", "xlsx(*.xlsx)")
|
|
|
+ if fileName:
|
|
|
+ wb = Workbook()
|
|
|
+ wb.create_sheet(title="停场航班导入模板", index=0)
|
|
|
+ ws = wb.active
|
|
|
+ ws.title = '航班数据'
|
|
|
+ ws = wb['航班数据']
|
|
|
+ for row in range(1, 50):
|
|
|
+ for cloumn in range(1, 7):
|
|
|
+ ws.cell(row, cloumn).number_format = '@'
|
|
|
+ ws.cell(1, 1).value = "序号"
|
|
|
+ ws.cell(1, 2).value = "日期"
|
|
|
+ ws.cell(1, 3).value = "机号"
|
|
|
+ ws.cell(1, 4).value = "机位"
|
|
|
+ ws.cell(1, 5).value = "机型"
|
|
|
+ ws.cell(1, 6).value = "发动机"
|
|
|
+ ws.cell(1, 7).value = "录入数据请从第三行开始录入,切勿覆盖第一二行数据!!!"
|
|
|
+ ws.cell(2, 1).value = "1"
|
|
|
+ ws.cell(2, 2).value = "2024/03/21"
|
|
|
+ ws.cell(2, 3).value = "1663"
|
|
|
+ ws.cell(2, 4).value = "722"
|
|
|
+ ws.cell(2, 5).value = "A321"
|
|
|
+ ws.cell(2, 6).value = "V2500"
|
|
|
+ ws.cell(2, 7).value = "录入数据请从第三行开始录入,切勿覆盖第一二行数据!!!"
|
|
|
+ wb.save(fileName)
|
|
|
+ self.show_message2("提示", "导出成功!文件已保存至%s" % fileName)
|
|
|
+ except Exception:
|
|
|
+ self.show_message2("警告", "导出失败,确认%s是否被打开或联系管理员!!!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def saveRisktable(self):
|
|
|
+ try:
|
|
|
+ fileName, _ = QFileDialog.getSaveFileName(None, "选取文件夹", "/风险数据库.xlsx","xlsx(*.xlsx)")
|
|
|
+ if fileName:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/saveRisktable"
|
|
|
+ res = requests.get(url=ip, timeout=30).json()["返回值"]
|
|
|
+ wb = Workbook()
|
|
|
+ wb.create_sheet(title="风险数据库.xlsx", index=0)
|
|
|
+ ws = wb.active
|
|
|
+ ws.title = '风险数据库'
|
|
|
+ ws = wb['风险数据库']
|
|
|
+ for row in range(1, len(res)+1):
|
|
|
+ for cloumn in range(1, 8):
|
|
|
+ ws.cell(row, cloumn).number_format = '@'
|
|
|
+ ws.cell(1, 1).value = "风险编号"
|
|
|
+ ws.cell(1, 2).value = "状态"
|
|
|
+ ws.cell(1, 3).value = "提示内容"
|
|
|
+ ws.cell(1, 4).value = "触发条件1"
|
|
|
+ ws.cell(1, 5).value = "触发条件2"
|
|
|
+ ws.cell(1, 6).value = "触发条件3"
|
|
|
+ ws.cell(1, 7).value = "触发条件4"
|
|
|
+ ws.cell(1, 8).value = "触发条件5"
|
|
|
+ if len(res) != 0:
|
|
|
+ ii=1
|
|
|
+ for i in res:
|
|
|
+ for j in range(0, 8):
|
|
|
+ #print(ii,j)
|
|
|
+ ws.cell(int(ii) + 1, j+1).value = i[j]
|
|
|
+ ii+=1
|
|
|
+ wb.save(fileName)
|
|
|
+ except Exception:
|
|
|
+ print(traceback.format_exc())
|
|
|
+ def saveAllflight(self):
|
|
|
+ try:
|
|
|
+ index = {"序号": "0", "类型": "9", "航班号": "4", "机型": "2", "发动机": "3", "机号": "1", "计达": "5", "预达": "6","计飞": "7", "机位": "8"}
|
|
|
+ index2 = {1: "序号", 2: "类型", 3: "航班号", 4: "机型", 5: "发动机", 6: "机号", 7: "计达", 8: "预达", 9: "计飞", 10: "机位"}
|
|
|
+ fileName, _ = QFileDialog.getSaveFileName(None, "选取文件夹", "/%s全天航班导出(未含保障结束).xlsx" % self.selectedtime,"xlsx(*.xlsx)")
|
|
|
+ # print(fileName)
|
|
|
+ if fileName:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/" + "tableWidgetDispaly22/" + "%s" % self.selectedtime
|
|
|
+ res = requests.get(url=ip, timeout=30).json()
|
|
|
+ # print(res)
|
|
|
+ wb = Workbook()
|
|
|
+ wb.create_sheet(title="%s全天航班导出(未含保障结束).xlsx" % self.selectedtime, index=0)
|
|
|
+ ws = wb.active
|
|
|
+ ws.title = '航班数据'
|
|
|
+ ws = wb['航班数据']
|
|
|
+ for row in range(1, 400):
|
|
|
+ for cloumn in range(1, 10):
|
|
|
+ ws.cell(row, cloumn).number_format = '@'
|
|
|
+ ws.cell(1, 1).value = "序号"
|
|
|
+ ws.cell(1, 2).value = "类型"
|
|
|
+ ws.cell(1, 3).value = "航班号"
|
|
|
+ ws.cell(1, 4).value = "机型"
|
|
|
+ ws.cell(1, 5).value = "发动机"
|
|
|
+ ws.cell(1, 6).value = "机号"
|
|
|
+ ws.cell(1, 7).value = "计达"
|
|
|
+ ws.cell(1, 8).value = "预达"
|
|
|
+ ws.cell(1, 9).value = "计飞"
|
|
|
+ ws.cell(1, 10).value = "机位"
|
|
|
+ if len(res) != 0:
|
|
|
+ for i in res.keys():
|
|
|
+ if res[i]["109"] != "4":
|
|
|
+ for j in range(1, 11):
|
|
|
+ if j == 2 and "3U" in res[i]["4"] and "CSC" in res[i]["4"]:
|
|
|
+ ws.cell(int(i) + 2, j).value = "外" + str(res[i][index[index2[j]]])
|
|
|
+ elif j == 7 or j == 8:
|
|
|
+ text = str(res[i][index[index2[j]]]).replace(":","") if str(res[i][index[index2[j]]]) != "" else ""
|
|
|
+ ws.cell(int(i) + 2, j).value = text
|
|
|
+ elif j == 9:
|
|
|
+ text = str(str(res[i][index[index2[j]]]).split("]")[1]).replace(":","") if "]" in str(res[i][index[index2[j]]]) else ""
|
|
|
+ ws.cell(int(i) + 2, j).value = text
|
|
|
+ else:
|
|
|
+ ws.cell(int(i) + 2, j).value = res[i][index[index2[j]]]
|
|
|
+ wb.save(fileName)
|
|
|
+ self.show_message2("提示", "%s全天航班导出成功!文件已保存至%s" % (self.selectedtime, fileName))
|
|
|
+ except Exception:
|
|
|
+ self.show_message2("警告", "导出失败,确认%s是否被打开或联系管理员!!!" % fileName)
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def saveAllflight2(self):
|
|
|
+ try:
|
|
|
+ time2 = datetime.datetime.strptime(self.selectedtime, "%Y%m%d")
|
|
|
+ time1 = str((time2 - datetime.timedelta(days=1)).strftime("%Y%m%d"))
|
|
|
+ index = {"序号": "0", "类型": "9", "航班号": "4", "机型": "2", "发动机": "3", "机号": "1", "计达": "5", "预达": "6","计飞": "7", "机位": "8","放行":"10","工1":"11","工2":"12","工3":"13","工4":"14","备注":"30","班组长":"15"}
|
|
|
+ index2 = {1: "序号", 2: "类型", 3: "航班号", 4: "机型", 5: "发动机", 6: "机号", 7: "计达", 8: "预达", 9: "计飞", 10: "机位",11: "放行",12: "工1",13: "工2",14: "工3",15: "工4",16: "备注",17: "班组长"}
|
|
|
+ fileName, _ = QFileDialog.getSaveFileName(None, "选取文件夹", "/%s航班安排备份导出.xlsx" %(str(time1)+"-"+str(self.selectedtime)[-2:]),"xlsx(*.xlsx)")
|
|
|
+ # print(fileName)
|
|
|
+ wb = Workbook()
|
|
|
+ if fileName:
|
|
|
+ for selectedtime in [self.selectedtime,time1]:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/" + "tableWidgetDispaly11/" + "%s" %selectedtime
|
|
|
+ res = requests.get(url=ip, timeout=30).json()
|
|
|
+ # print(res)
|
|
|
+ wb.create_sheet(title="%s" % selectedtime, index=0)
|
|
|
+ ws = wb.active
|
|
|
+ ws.title = "%s" % selectedtime
|
|
|
+ ws = wb["%s" % selectedtime]
|
|
|
+ for row in range(1, 400):
|
|
|
+ for cloumn in range(1, 18):
|
|
|
+ ws.cell(row, cloumn).number_format = '@'
|
|
|
+ ws.cell(1, 1).value = "序号"
|
|
|
+ ws.cell(1, 2).value = "类型"
|
|
|
+ ws.cell(1, 3).value = "航班号"
|
|
|
+ ws.cell(1, 4).value = "机型"
|
|
|
+ ws.cell(1, 5).value = "发动机"
|
|
|
+ ws.cell(1, 6).value = "机号"
|
|
|
+ ws.cell(1, 7).value = "计达"
|
|
|
+ ws.cell(1, 8).value = "预达"
|
|
|
+ ws.cell(1, 9).value = "计飞"
|
|
|
+ ws.cell(1, 10).value = "机位"
|
|
|
+ ws.cell(1, 11).value = "放行"
|
|
|
+ ws.cell(1, 12).value = "工1"
|
|
|
+ ws.cell(1, 13).value = "工2"
|
|
|
+ ws.cell(1, 14).value = "工3"
|
|
|
+ ws.cell(1, 15).value = "工4"
|
|
|
+ ws.cell(1, 16).value = "备注"
|
|
|
+ ws.cell(1, 17).value = "班组长"
|
|
|
+
|
|
|
+ if len(res) != 0:
|
|
|
+ for i in res.keys():
|
|
|
+ for j in range(1, 18):
|
|
|
+ if j == 2:
|
|
|
+ if "3U" not in res[i]["4"] and "CSC" not in res[i]["4"]:
|
|
|
+ ws.cell(int(i) + 2, j).value = "外" + str(res[i][index[index2[j]]])
|
|
|
+ else:
|
|
|
+ ws.cell(int(i) + 2, j).value = res[i][index[index2[j]]]
|
|
|
+ elif j == 7 or j == 8:
|
|
|
+ text = str(res[i][index[index2[j]]]).replace(":","") if str(res[i][index[index2[j]]]) != "" else ""
|
|
|
+ ws.cell(int(i) + 2, j).value = text
|
|
|
+ elif j == 9:
|
|
|
+ text = str(str(res[i][index[index2[j]]]).split("]")[1]).replace(":","") if "]" in str(res[i][index[index2[j]]]) else ""
|
|
|
+ ws.cell(int(i) + 2, j).value = text
|
|
|
+ else:
|
|
|
+ ws.cell(int(i) + 2, j).value = res[i][index[index2[j]]]
|
|
|
+ wb.save(fileName)
|
|
|
+ self.show_message2("提示", "%s全天航班导出成功!文件已保存至%s" % (self.selectedtime, fileName))
|
|
|
+ except Exception:
|
|
|
+ self.show_message2("警告", "导出失败,确认%s是否被打开或联系管理员!!!" % fileName)
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def saveAllflight3(self):
|
|
|
+ try:
|
|
|
+ time2 = datetime.datetime.strptime(self.selectedtime, "%Y%m%d")
|
|
|
+ time1 = str((time2 - datetime.timedelta(days=1)).strftime("%Y%m%d"))
|
|
|
+ index = {"序号": "0", "类型": "9", "航班号": "4", "机型": "2", "发动机": "3", "机号": "1", "计达": "5", "预达": "6","计飞": "7", "机位": "8","工作单":"10","飞单":"11","客舱单":"12","临工单":"13","AMRO记录":"14","备注":"32","备用":"15"}
|
|
|
+ index2 = {1: "序号", 2: "类型", 3: "航班号", 4: "机型", 5: "发动机", 6: "机号", 7: "计达", 8: "预达", 9: "计飞", 10: "机位",11: "工作单",12: "飞单",13: "客舱单",14: "临工单",15: "AMRO记录",16: "备注",17: "备用"}
|
|
|
+ fileName, _ = QFileDialog.getSaveFileName(None, "选取文件夹", "/%s维修记录备份导出.xlsx" %(str(time1)+"-"+str(self.selectedtime)[-2:]),"xlsx(*.xlsx)")
|
|
|
+ # print(fileName)
|
|
|
+ wb = Workbook()
|
|
|
+ if fileName:
|
|
|
+ for selectedtime in [self.selectedtime,time1]:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/" + "tableWidgetDispaly22/" + "%s" %selectedtime
|
|
|
+ res = requests.get(url=ip, timeout=30).json()
|
|
|
+ # print(res)
|
|
|
+ wb.create_sheet(title="%s" % selectedtime, index=0)
|
|
|
+ ws = wb.active
|
|
|
+ ws.title = "%s" % selectedtime
|
|
|
+ ws = wb["%s" % selectedtime]
|
|
|
+ for row in range(1, 400):
|
|
|
+ for cloumn in range(1, 18):
|
|
|
+ ws.cell(row, cloumn).number_format = '@'
|
|
|
+ ws.cell(1, 1).value = "序号"
|
|
|
+ ws.cell(1, 2).value = "类型"
|
|
|
+ ws.cell(1, 3).value = "航班号"
|
|
|
+ ws.cell(1, 4).value = "机型"
|
|
|
+ ws.cell(1, 5).value = "发动机"
|
|
|
+ ws.cell(1, 6).value = "机号"
|
|
|
+ ws.cell(1, 7).value = "计达"
|
|
|
+ ws.cell(1, 8).value = "预达"
|
|
|
+ ws.cell(1, 9).value = "计飞"
|
|
|
+ ws.cell(1, 10).value = "机位"
|
|
|
+ ws.cell(1, 11).value = "工作单"
|
|
|
+ ws.cell(1, 12).value = "飞单"
|
|
|
+ ws.cell(1, 13).value = "客舱单"
|
|
|
+ ws.cell(1, 14).value = "临工单"
|
|
|
+ ws.cell(1, 15).value = "AMRO记录"
|
|
|
+ ws.cell(1, 16).value = "备注"
|
|
|
+ ws.cell(1, 17).value = "备用"
|
|
|
+
|
|
|
+ if len(res) != 0:
|
|
|
+ for i in res.keys():
|
|
|
+ for j in range(1, 18):
|
|
|
+ if j == 2:
|
|
|
+ if "3U" not in res[i]["4"] and "CSC" not in res[i]["4"]:
|
|
|
+ ws.cell(int(i) + 2, j).value = "外" + str(res[i][index[index2[j]]])
|
|
|
+ else:
|
|
|
+ ws.cell(int(i) + 2, j).value = res[i][index[index2[j]]]
|
|
|
+ elif j == 6:
|
|
|
+ text = "B-"+str(res[i][index[index2[j]]])
|
|
|
+ ws.cell(int(i) + 2, j).value = text
|
|
|
+ elif j == 7 or j == 8:
|
|
|
+ text = str(res[i][index[index2[j]]]).replace(":","") if str(res[i][index[index2[j]]]) != "" else ""
|
|
|
+ ws.cell(int(i) + 2, j).value = text
|
|
|
+ elif j == 9:
|
|
|
+ text = str(str(res[i][index[index2[j]]]).split("]")[1]).replace(":","") if "]" in str(res[i][index[index2[j]]]) else ""
|
|
|
+ ws.cell(int(i) + 2, j).value = text
|
|
|
+ else:
|
|
|
+ ws.cell(int(i) + 2, j).value = res[i][index[index2[j]]]
|
|
|
+ wb.save(fileName)
|
|
|
+ self.show_message2("提示", "%s全天航班导出成功!文件已保存至%s" % (self.selectedtime, fileName))
|
|
|
+ except Exception:
|
|
|
+ self.show_message2("警告", "导出失败,确认%s是否被打开或联系管理员!!!" % fileName)
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def saveDealflight(self):
|
|
|
+
|
|
|
+ try:
|
|
|
+ index = {"序号": "0", "类型": "9", "航班号": "4", "机型": "2", "发动机": "3", "机号": "1", "计达": "5", "预达": "6","计飞": "7", "机位": "8"}
|
|
|
+ index2 = {1: "序号", 2: "类型", 3: "航班号", 4: "机型", 5: "发动机", 6: "机号", 7: "计达", 8: "预达", 9: "计飞", 10: "机位"}
|
|
|
+ fileName, _ = QFileDialog.getSaveFileName(None, "选取文件夹", "/%s交班航班导出.xlsx" % self.selectedtime,"xlsx(*.xlsx)")
|
|
|
+ # print(fileName)
|
|
|
+ if fileName:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/" + "tableWidgetDispaly22/" + "%s" % self.selectedtime
|
|
|
+ res = requests.get(url=ip, timeout=30).json()
|
|
|
+ # print(res)
|
|
|
+ wb = Workbook()
|
|
|
+ wb.create_sheet(title="%s交班航班导出.xlsx" % self.selectedtime, index=0)
|
|
|
+ ws = wb.active
|
|
|
+ ws.title = '航班数据'
|
|
|
+ ws = wb['航班数据']
|
|
|
+ for row in range(1, 400):
|
|
|
+ for cloumn in range(1, 10):
|
|
|
+ ws.cell(row, cloumn).number_format = '@'
|
|
|
+ ws.cell(1, 1).value = "序号"
|
|
|
+ ws.cell(1, 2).value = "类型"
|
|
|
+ ws.cell(1, 3).value = "航班号"
|
|
|
+ ws.cell(1, 4).value = "机型"
|
|
|
+ ws.cell(1, 5).value = "发动机"
|
|
|
+ ws.cell(1, 6).value = "机号"
|
|
|
+ ws.cell(1, 7).value = "计达"
|
|
|
+ ws.cell(1, 8).value = "预达"
|
|
|
+ ws.cell(1, 9).value = "计飞"
|
|
|
+ ws.cell(1, 10).value = "机位"
|
|
|
+ if len(res) != 0:
|
|
|
+ for i in res.keys():
|
|
|
+ if res[i]["109"] == "1" or res[i]["109"] == "3":
|
|
|
+ for j in range(1, 11):
|
|
|
+ if j == 2:
|
|
|
+ if "3U" not in res[i]["4"] and "CSC" not in res[i]["4"]:
|
|
|
+ ws.cell(int(i) + 2, j).value = "外" + str(res[i][index[index2[j]]])
|
|
|
+ else:
|
|
|
+ ws.cell(int(i) + 2, j).value = res[i][index[index2[j]]]
|
|
|
+ elif j == 7 or j == 8:
|
|
|
+ text = str(res[i][index[index2[j]]]).replace(":","") if str(res[i][index[index2[j]]]) != "" else ""
|
|
|
+ ws.cell(int(i) + 2, j).value = text
|
|
|
+ elif j == 9:
|
|
|
+ text = str(str(res[i][index[index2[j]]]).split("]")[1]).replace(":","") if "]" in str(res[i][index[index2[j]]]) else ""
|
|
|
+ ws.cell(int(i) + 2, j).value = text
|
|
|
+ else:
|
|
|
+ ws.cell(int(i) + 2, j).value = res[i][index[index2[j]]]
|
|
|
+ wb.save(fileName)
|
|
|
+ self.show_message2("提示", "%s交班航班导出成功!文件已保存至%s" % (self.selectedtime, fileName))
|
|
|
+ except Exception:
|
|
|
+ self.show_message2("警告", "导出失败,确认%s是否被打开或联系管理员!!!" % fileName)
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+################################################################################################################################################
|
|
|
+ def updateStopFlight(self):
|
|
|
+ try:
|
|
|
+ fileName, _ = QFileDialog.getOpenFileName(self, '打开文件', '/')
|
|
|
+ # print(fileName)
|
|
|
+ data = {"fileName": fileName}
|
|
|
+ res = self.severpostData_nomeassge("updateStopFlight", data)["返回值"]
|
|
|
+ if res != "ok":
|
|
|
+ self.show_message2("警告", "停场航班添加失败!")
|
|
|
+ elif res == "ok":
|
|
|
+ self.show_message2("提示", "停场航班添加成功!")
|
|
|
+ self.QThreadSortNow("main")
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def updateTaskAuto(self):
|
|
|
+ try:
|
|
|
+ if int(self.authority) <= 1:
|
|
|
+ fileName, _ = QFileDialog.getOpenFileName(self, '打开文件', '/')
|
|
|
+ # print(fileName)
|
|
|
+ data = {"fileName": fileName}
|
|
|
+ res = self.severpostData_nomeassge("updateTaskAuto", data)["返回值"]
|
|
|
+ if res != "ok":
|
|
|
+ self.show_message2("警告", "文件错误")
|
|
|
+ elif res == "ok":
|
|
|
+ self.taskAtuoCheck("3")
|
|
|
+ self.show_message2("提示", "准备组任务更新成功!")
|
|
|
+
|
|
|
+ else:
|
|
|
+ self.show_message2("提示", "权限不够,请联系管理员!")
|
|
|
+ except Exception:
|
|
|
+ # print('登录服务器失败')
|
|
|
+ QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ def updateRiskdb(self):
|
|
|
+ try:
|
|
|
+ if int(self.authority) <= 1:
|
|
|
+ fileName, _ = QFileDialog.getOpenFileName(self, '打开文件', '/')
|
|
|
+ # print(fileName)
|
|
|
+ data = {"fileName": fileName}
|
|
|
+ res = self.severpostData_nomeassge("updateRiskdb", data)["返回值"]
|
|
|
+ if res != "ok":
|
|
|
+ self.show_message2("警告", "文件错误")
|
|
|
+ elif res == "ok":
|
|
|
+ self.show_message2("提示", "风险数据库更新成功!")
|
|
|
+
|
|
|
+ else:
|
|
|
+ self.show_message2("提示", "权限不够,请联系管理员!")
|
|
|
+ except Exception:
|
|
|
+ # print('登录服务器失败')
|
|
|
+ QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def show_message2(self, type, str):
|
|
|
+ try:
|
|
|
+ QMessageBox.warning(self, "%s" % type, "%s" % str)
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def QThreadSortDispalyTimer(self, name, dict, dict2, seversts, displayMode):
|
|
|
+ try:
|
|
|
+ if name == "sortTableWidgetDispaly":
|
|
|
+ if displayMode == "A":
|
|
|
+ self.displayLabel = ["备","序号","备","机号","航班信息","机型","机型信息","发动机","备","航班号","备","计达","备","预达",
|
|
|
+ "备","计飞","备","机位","备","类型","备","放行","备","工1","备","工2","备","工3","备","工4",
|
|
|
+ "备","班组长","备","到位","备","放行","备","销夹","备","随机","备","随机","备","保留","备","工作包",
|
|
|
+ "备","进出港城市","备","维修人员","备","放行","备","航班编号","备","任务编号","备","TATD","备","类型",
|
|
|
+ "备","附加消息","备","备","备","备"]
|
|
|
+ '''
|
|
|
+ self.displayLabel = ["序号", "机号", "机型", "发动机", "航班号", "计达", "预达", "计飞", "机位", "类型", "放行", "工1", "工2",
|
|
|
+ "工3","工4", "班组长", "到位", "放行", "销夹", "随机", "随机", "保留", "工作包", "进出港城市", "维修人员",
|
|
|
+ "放行", "航班编号",
|
|
|
+ "任务编号", "TATD", "类型", "附加消息"]
|
|
|
+ '''
|
|
|
+ self.tableWidgetFlight.setColumnCount(len(self.displayLabel))
|
|
|
+ self.tableWidgetFlight.verticalHeader().setVisible(False)
|
|
|
+ self.tableWidgetFlight.setHorizontalHeaderLabels(self.displayLabel)
|
|
|
+
|
|
|
+ elif displayMode == "B":
|
|
|
+ self.displayLabel = ["序号", "机号", "机型", "发动机", "航班号", "计达", "预达", "计飞", "机位", "类型", "工作单", "飞单", "客舱单",
|
|
|
+ "临工单","AMRO记录", "备用", "到位", "二送", "放行", "销夹", "随机", "随机", "保留", "工作包", "进出港城市",
|
|
|
+ "维修人员", "二送人员","放行", "航班编号", "任务编号", "TATD", "类型", "附加消息"]
|
|
|
+ self.tableWidgetFlight.setColumnCount(len(self.displayLabel))
|
|
|
+ self.tableWidgetFlight.verticalHeader().setVisible(False)
|
|
|
+ self.tableWidgetFlight.setHorizontalHeaderLabels(self.displayLabel)
|
|
|
+ self.sorttableWidgetDispalydata = {}
|
|
|
+ self.sorttableWidgetDispalydata = dict
|
|
|
+ if self.doubleclickLockUpdate == 0:
|
|
|
+ self.tableWidgetDispaly()
|
|
|
+ # print(self.sorttableWidgetDispalydata)
|
|
|
+ elif name == "sortTableWidgetDispalyALL":
|
|
|
+ self.sorttableWidgetDispalydataALL = {}
|
|
|
+ self.sorttableWidgetDispalydataALL = dict
|
|
|
+
|
|
|
+ elif name == "sorttableWidgetDisplayChange":
|
|
|
+ self.sortlogchange = {}
|
|
|
+ self.sortlogchange = dict
|
|
|
+ self.tableWidgetDisplayChange()
|
|
|
+ # print(self.sortlogchange)
|
|
|
+ elif name == "sorttableWidgetPeopleDisplay":
|
|
|
+ self.sortdiplaylist = {}
|
|
|
+ self.sortdiplaylist = dict
|
|
|
+ self.peopleOnJob = [""]
|
|
|
+ self.peopleOnJob = dict2
|
|
|
+ self.tableWidgetPeopleDisplay()
|
|
|
+ # print(self.peopleOnJob)
|
|
|
+ # print(self.sortdiplaylist)
|
|
|
+ elif name == "sorttableWidgetLOGDispaly":
|
|
|
+ self.sortlog = {}
|
|
|
+ self.sortlog = dict
|
|
|
+ self.tableWidgetLOGDispaly()
|
|
|
+ # print(self.sortlog)
|
|
|
+
|
|
|
+ if seversts == "0":
|
|
|
+ self.severupdatests = "-"
|
|
|
+ self.label_11.setText("已断开")
|
|
|
+ self.label_11.setStyleSheet(
|
|
|
+ "background-color:red;color:white;border-radius:5px;padding:2px;font-weight:bold")
|
|
|
+ self.restartServer(self.ipinfo.split(':')[0],9935)
|
|
|
+ elif seversts == "1" and self.severupdatests == "1":
|
|
|
+ self.label_11.setText("正 常")
|
|
|
+ self.label_11.setStyleSheet(
|
|
|
+ "background-color:green;color:white;border-radius:5px;padding:2px;font-weight:bold")
|
|
|
+ elif seversts == "1" and self.severupdatests == "0":
|
|
|
+ self.label_11.setText("未更新")
|
|
|
+ self.label_11.setStyleSheet(
|
|
|
+ "background-color:yellow;color:red;border-radius:5px;padding:2px;font-weight:bold")
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def QThreadSortDispalyNow(self, name, dict, dict2, seversts, displayMode):
|
|
|
+ try:
|
|
|
+ if name == "sortTableWidgetDispaly":
|
|
|
+ if displayMode == "A":
|
|
|
+ self.displayLabel=["备","序号","备","机号","航班信息","机型","机型信息","发动机","备","航班号","备","计达","备","预达",
|
|
|
+ "备","计飞","备","机位","备","类型","备","放行","备","工1","备","工2","备","工3","备","工4",
|
|
|
+ "备","班组长","备","到位","备","放行","备","销夹","备","随机","备","随机","备","保留","备","工作包",
|
|
|
+ "备","进出港城市","备","维修人员","备","放行","备","航班编号","备","任务编号","备","TATD","备","类型",
|
|
|
+ "备","附加消息","备","备","备","备"]
|
|
|
+ '''
|
|
|
+ self.displayLabel = ["序号", "机号", "机型", "发动机", "航班号", "计达", "预达", "计飞", "机位", "类型", "放行", "工1", "工2",
|
|
|
+ "工3","工4", "班组长", "到位", "放行", "销夹", "随机", "随机", "保留", "工作包", "进出港城市", "维修人员",
|
|
|
+ "放行", "航班编号","任务编号", "TATD", "类型", "附加消息"]
|
|
|
+ '''
|
|
|
+ self.tableWidgetFlight.setColumnCount(len(self.displayLabel))
|
|
|
+ self.tableWidgetFlight.verticalHeader().setVisible(False)
|
|
|
+ self.tableWidgetFlight.setHorizontalHeaderLabels(self.displayLabel)
|
|
|
+
|
|
|
+ else:
|
|
|
+ self.displayLabel = ["序号", "机号", "机型", "发动机", "航班号", "计达", "预达", "计飞", "机位", "类型", "工作单", "飞单", "客舱单",
|
|
|
+ "临工单","AMRO记录", "备用", "到位", "二送", "放行", "销夹", "随机", "随机", "保留", "工作包", "进出港城市",
|
|
|
+ "维修人员", "二送人员","放行", "航班编号", "任务编号", "TATD", "类型", "附加消息"]
|
|
|
+ self.tableWidgetFlight.setColumnCount(len(self.displayLabel))
|
|
|
+ self.tableWidgetFlight.verticalHeader().setVisible(False)
|
|
|
+ self.tableWidgetFlight.setHorizontalHeaderLabels(self.displayLabel)
|
|
|
+ self.sorttableWidgetDispalydata = {}
|
|
|
+ self.sorttableWidgetDispalydata = dict
|
|
|
+ # print(self.sorttableWidgetDispalydata)
|
|
|
+ if self.doubleclickLockUpdate == 0:
|
|
|
+ self.tableWidgetDispaly()
|
|
|
+ elif name == "SearchsortTableWidgetDispaly":
|
|
|
+ if displayMode == "A":
|
|
|
+ self.displayLabel = ["备","序号","备","机号","航班信息","机型","机型信息","发动机","备","航班号","备","计达","备","预达",
|
|
|
+ "备","计飞","备","机位","备","类型","备","放行","备","工1","备","工2","备","工3","备","工4",
|
|
|
+ "备","班组长","备","到位","备","放行","备","销夹","备","随机","备","随机","备","保留","备","工作包",
|
|
|
+ "备","进出港城市","备","维修人员","备","放行","备","航班编号","备","任务编号","备","TATD","备","类型",
|
|
|
+ "备","附加消息","备","备","备","备"]
|
|
|
+ '''
|
|
|
+ self.displayLabel = ["序号", "机号", "机型", "发动机", "航班号", "计达", "预达", "计飞", "机位", "类型", "放行", "工1",
|
|
|
+ "工2","工3","工4", "班组长", "到位", "放行", "销夹", "随机", "随机", "保留", "工作包", "进出港城市",
|
|
|
+ "维修人员","放行", "航班编号","任务编号", "TATD", "类型", "附加消息"]
|
|
|
+ '''
|
|
|
+ self.tableWidgetFlight.setColumnCount(len(self.displayLabel))
|
|
|
+ self.tableWidgetFlight.verticalHeader().setVisible(False)
|
|
|
+ self.tableWidgetFlight.setHorizontalHeaderLabels(self.displayLabel)
|
|
|
+
|
|
|
+ elif displayMode == "B":
|
|
|
+ self.displayLabel =["序号", "机号", "机型", "发动机", "航班号", "计达", "预达", "计飞", "机位", "类型", "工作单", "飞单", "客舱单",
|
|
|
+ "临工单","AMRO记录", "备用", "到位", "二送", "放行", "销夹", "随机", "随机", "保留", "工作包", "进出港城市",
|
|
|
+ "维修人员", "二送人员","放行", "航班编号", "任务编号", "TATD", "类型", "附加消息"]
|
|
|
+ self.tableWidgetFlight.setColumnCount(len(self.displayLabel))
|
|
|
+ self.tableWidgetFlight.verticalHeader().setVisible(False)
|
|
|
+ self.tableWidgetFlight.setHorizontalHeaderLabels(self.displayLabel)
|
|
|
+ self.sorttableWidgetDispalydata = {}
|
|
|
+ self.sorttableWidgetDispalydata = dict
|
|
|
+ if self.doubleclickLockUpdate == 0:
|
|
|
+ self.tableWidgetDispaly()
|
|
|
+ # print(self.sorttableWidgetDispalydata)
|
|
|
+ elif name == "sortTableWidgetDispalyALL":
|
|
|
+ self.sorttableWidgetDispalydataALL = {}
|
|
|
+ self.sorttableWidgetDispalydataALL = dict
|
|
|
+ elif name == "sorttableWidgetDisplayChange":
|
|
|
+ self.sortlogchange = {}
|
|
|
+ self.sortlogchange = dict
|
|
|
+ self.tableWidgetDisplayChange()
|
|
|
+ # print(self.sortlogchange)
|
|
|
+ elif name == "sorttableWidgetPeopleDisplay":
|
|
|
+ self.sortdiplaylist = {}
|
|
|
+ self.sortdiplaylist = dict
|
|
|
+ self.peopleOnJob = [""]
|
|
|
+ self.peopleOnJob = dict2
|
|
|
+ self.tableWidgetPeopleDisplay()
|
|
|
+ # print(self.peopleOnJob)
|
|
|
+ # print(self.sortdiplaylist)
|
|
|
+ elif name == "sorttableWidgetLOGDispaly":
|
|
|
+ self.sortlog = {}
|
|
|
+ self.sortlog = dict
|
|
|
+ self.tableWidgetLOGDispaly()
|
|
|
+ # print(self.sortlog)
|
|
|
+ elif name == "sorttableWidgetPHONEDispaly":
|
|
|
+ self.sorttableWidgetPHONEDispalydata = {}
|
|
|
+ self.sorttableWidgetPHONEDispalydata = dict
|
|
|
+ self.tableWidgetPhoneDispaly()
|
|
|
+ if seversts == "0":
|
|
|
+ self.severupdatests = "-"
|
|
|
+ self.label_11.setText("已断开")
|
|
|
+ self.label_11.setStyleSheet(
|
|
|
+ "background-color:red;color:white;border-radius:5px;padding:2px;font-weight:bold")
|
|
|
+ self.restartServer(self.ipinfo.split(':')[0],9935)
|
|
|
+ elif seversts == "1" and self.severupdatests == "1":
|
|
|
+ self.label_11.setText("正 常")
|
|
|
+ self.label_11.setStyleSheet(
|
|
|
+ "background-color:green;color:white;border-radius:5px;padding:2px;font-weight:bold")
|
|
|
+ elif seversts == "1" and self.severupdatests == "0":
|
|
|
+ self.label_11.setText("未更新")
|
|
|
+ self.label_11.setStyleSheet(
|
|
|
+ "background-color:yellow;color:red;border-radius:5px;padding:2px;font-weight:bold")
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def restartServer(self,serverIP,serverPort):
|
|
|
+ client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
|
|
+ client.settimeout(120)
|
|
|
+ client.connect((serverIP, serverPort))
|
|
|
+ client.send("restart".encode())
|
|
|
+ client.close()
|
|
|
+ QMessageBox.warning(self, "提示", "服务器端正在尝试自动重启服务器,请等待30S后刷新查看显示状态!若仍然断开,请联系管理员!")
|
|
|
+
|
|
|
+ def initlocalipback(self):
|
|
|
+ try:
|
|
|
+ if os.path.exists("D:/flightinfo/logs/localip.code") is True:
|
|
|
+ read_path = "D:/flightinfo/logs/localip.code"
|
|
|
+ with open(read_path, "r", encoding="utf-8") as f2:
|
|
|
+ rember_2 = f2.read()
|
|
|
+ if ';;' in rember_2:
|
|
|
+ self.localip = rember_2.split(';;')[0]
|
|
|
+ self.localtoken = rember_2.split(';;')[-1]
|
|
|
+ QMessageBox.warning(self, "提示", "本地网络电话获取缓存成功,可拨号尝试,如拨号失败则需重新配置!")
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ def openmaintainAuthCheck(self):
|
|
|
+ self.maintainAuthCheckSts=1
|
|
|
+ QMessageBox.warning(self, "提示", "授权检查已开启,将核对人员发动机授权情况!")
|
|
|
+
|
|
|
+ def closemaintainAuthCheck(self):
|
|
|
+ self.maintainAuthCheckSts=0
|
|
|
+ QMessageBox.warning(self, "提示", "授权检查已关闭,将无法核对人员发动机授权情况!")
|
|
|
+
|
|
|
+ def setlocalipback(self, token):
|
|
|
+ try:
|
|
|
+ self.localtoken = None
|
|
|
+ self.localtoken = token
|
|
|
+ if "auth=" in token:
|
|
|
+ QMessageBox.warning(self, "提示", "本地网络电话配置成功!")
|
|
|
+ save_path = "D:/flightinfo/logs/localip.code"
|
|
|
+ with open(save_path, "w", encoding="utf-8") as f1:
|
|
|
+ f1.write(str(self.localip) + ";;" + str(self.localtoken))
|
|
|
+ self.lineEdit_phonenum.setText("")
|
|
|
+ else:
|
|
|
+ QMessageBox.warning(self, "提示", "本地网络电话配置失败,本地呼叫无法使用,请确认IP正确,可尝试重启IP电话后再试!")
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def QThreadSortTimer(self):
|
|
|
+ try:
|
|
|
+ nowDay = datetime.datetime.now().strftime("%Y%m%d")
|
|
|
+ tomorr = (datetime.date.today() + datetime.timedelta(days=1)).strftime("%Y%m%d")
|
|
|
+ yester = (datetime.date.today() - datetime.timedelta(days=1)).strftime("%Y%m%d")
|
|
|
+ if self.selectedtime == nowDay:
|
|
|
+ datestr = "2"
|
|
|
+ elif self.selectedtime == tomorr:
|
|
|
+ datestr = "3"
|
|
|
+ elif self.selectedtime == yester:
|
|
|
+ datestr = "1"
|
|
|
+ else:
|
|
|
+ datestr = "4"
|
|
|
+ ip = "http://"+self.ipinfo+"/static/VinCheck/"+self.vin+"/"+self.displayMode+"/%s"%datestr
|
|
|
+ res = requests.get(url=ip, timeout=30).json()["返回值"]
|
|
|
+ self.sum += 1
|
|
|
+ self.flightsum += 1
|
|
|
+ #print(self.doubleclickLockUpdate)
|
|
|
+ if self.loginSts == True:
|
|
|
+ # print("多线程刷新1")
|
|
|
+
|
|
|
+ self.FLIGHTonChange_text = self.lineEdit_flight.text()
|
|
|
+ self.peolpleonChange_text = self.lineEdit_people.text()
|
|
|
+ self.changeonChange_text = self.lineEdit_change.text()
|
|
|
+ self.logonChange_text = self.lineEdit_log.text()
|
|
|
+ if (self.doubleclickLockUpdate==0 and res =="ok" and self.flightsum % 20 == 0) or\
|
|
|
+ (self.doubleclickLockUpdate==0 and datestr =="4" and self.flightsum % 20 == 0):
|
|
|
+ print(datetime.datetime.now(),"开始数据库刷新", self.vin)
|
|
|
+ th1 = QThread()
|
|
|
+ self.sortTableWidgetDispalyThread1 = sortdisplaySever("sortTableWidgetDispaly", self.ipinfo,
|
|
|
+ self.selectedtime, self.FLIGHTonChange_text,
|
|
|
+ self.displayMode, "0", self.displaySelect_mode,
|
|
|
+ th1)
|
|
|
+ self.sortTableWidgetDispalyThread1.sortupdate.connect(self.QThreadSortDispalyTimer)
|
|
|
+ self.sortTableWidgetDispalyThread1.moveToThread(th1)
|
|
|
+ th1.started.connect(self.sortTableWidgetDispalyThread1.run)
|
|
|
+ th1.start()
|
|
|
+ if datestr !="4":
|
|
|
+ ip = "http://"+self.ipinfo+"/static/updateVin/" + self.displayMode + "/%s" % datestr
|
|
|
+ self.vin = requests.get(url=ip, timeout=30).json()["返回值"]
|
|
|
+ print(datetime.datetime.now(),"更新刷新",self.vin)
|
|
|
+ elif self.doubleclickLockUpdate==0 and res !="ok":
|
|
|
+ print(datetime.datetime.now(),"开始读取刷新", self.vin)
|
|
|
+ th1234 = QThread()
|
|
|
+ self.sortTableWidgetDispalyThread1234 = sortdisplaySever("sortTableWidgetDispaly", self.ipinfo,
|
|
|
+ self.selectedtime, self.FLIGHTonChange_text,
|
|
|
+ self.displayMode, "1", self.displaySelect_mode,
|
|
|
+ th1234)
|
|
|
+ self.sortTableWidgetDispalyThread1234.sortupdate.connect(self.QThreadSortDispalyTimer)
|
|
|
+ self.sortTableWidgetDispalyThread1234.moveToThread(th1234)
|
|
|
+ th1234.started.connect(self.sortTableWidgetDispalyThread1234.run)
|
|
|
+ th1234.start()
|
|
|
+ self.flightsum = 0
|
|
|
+ ip = "http://"+self.ipinfo+"/static/getVin/"+ self.displayMode + "/%s" % datestr
|
|
|
+ self.vin = requests.get(url=ip, timeout=30).json()["返回值"]
|
|
|
+ print(datetime.datetime.now(),"仅仅读取",self.vin)
|
|
|
+ '''
|
|
|
+ else:
|
|
|
+ th11111 = QThread()
|
|
|
+ self.sortTableWidgetDispalyThread11111 = sortdisplaySever("sortTableWidgetDispalyALL", self.ipinfo,
|
|
|
+ self.selectedtime, self.FLIGHTonChange_text,
|
|
|
+ self.displayMode, "1", self.displaySelect_mode,
|
|
|
+ th11111)
|
|
|
+ self.sortTableWidgetDispalyThread11111.sortupdate.connect(self.QThreadSortDispalyTimer)
|
|
|
+ self.sortTableWidgetDispalyThread11111.moveToThread(th11111)
|
|
|
+ th11111.started.connect(self.sortTableWidgetDispalyThread11111.run)
|
|
|
+ th11111.start()
|
|
|
+ '''
|
|
|
+ if self.loginSts == True and self.sum % 20 == 0:
|
|
|
+ th2 = QThread()
|
|
|
+ self.sorttableWidgetDisplayChangeThread2 = sortdisplaySever("sorttableWidgetDisplayChange", self.ipinfo,
|
|
|
+ self.selectedtime, self.changeonChange_text,
|
|
|
+ "", "", "", th2)
|
|
|
+ self.sorttableWidgetDisplayChangeThread2.sortupdate.connect(self.QThreadSortDispalyTimer)
|
|
|
+ self.sorttableWidgetDisplayChangeThread2.moveToThread(th2)
|
|
|
+ th2.started.connect(self.sorttableWidgetDisplayChangeThread2.run)
|
|
|
+ th2.start()
|
|
|
+
|
|
|
+ th3 = QThread()
|
|
|
+ self.sorttableWidgetPeopleDisplayThread3 = sortdisplaySever("sorttableWidgetPeopleDisplay", self.ipinfo,
|
|
|
+ self.selectedtime,
|
|
|
+ self.peolpleonChange_text, "",
|
|
|
+ self.selectedbc, "", th3)
|
|
|
+ self.sorttableWidgetPeopleDisplayThread3.sortupdate.connect(self.QThreadSortDispalyTimer)
|
|
|
+ self.sorttableWidgetPeopleDisplayThread3.moveToThread(th3)
|
|
|
+ th3.started.connect(self.sorttableWidgetPeopleDisplayThread3.run)
|
|
|
+ th3.start()
|
|
|
+
|
|
|
+ th4 = QThread()
|
|
|
+ self.sorttableWidgetLOGDispalyThread4 = sortdisplaySever("sorttableWidgetLOGDispaly", self.ipinfo,
|
|
|
+ self.selectedtime, self.logonChange_text, "",
|
|
|
+ "", "", th4)
|
|
|
+ self.sorttableWidgetLOGDispalyThread4.sortupdate.connect(self.QThreadSortDispalyTimer)
|
|
|
+ self.sorttableWidgetLOGDispalyThread4.moveToThread(th4)
|
|
|
+ th4.started.connect(self.sorttableWidgetLOGDispalyThread4.run)
|
|
|
+ th4.start()
|
|
|
+ self.updatecheck()
|
|
|
+ if self.loginSts == True and self.sum % 2400 == 0:
|
|
|
+ self.taskAtuoCheck("2")
|
|
|
+ self.sum=0
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def QThreadSortNow(self, name):
|
|
|
+ try:
|
|
|
+ if "main" in str(name) and self.doubleclickLockUpdate == 0:
|
|
|
+ # print(datetime.datetime.now())
|
|
|
+ th11 = QThread()
|
|
|
+ self.sortTableWidgetDispalyThread11 = sortdisplaySever("sortTableWidgetDispaly", self.ipinfo,
|
|
|
+ self.selectedtime, self.FLIGHTonChange_text,
|
|
|
+ self.displayMode, "0", self.displaySelect_mode,
|
|
|
+ th11)
|
|
|
+ self.sortTableWidgetDispalyThread11.sortupdate.connect(self.QThreadSortDispalyNow)
|
|
|
+ self.sortTableWidgetDispalyThread11.moveToThread(th11)
|
|
|
+ th11.started.connect(self.sortTableWidgetDispalyThread11.run)
|
|
|
+ th11.start()
|
|
|
+ nowDay = datetime.datetime.now().strftime("%Y%m%d")
|
|
|
+ tomorr = (datetime.date.today() + datetime.timedelta(days=1)).strftime("%Y%m%d")
|
|
|
+ yester = (datetime.date.today() - datetime.timedelta(days=1)).strftime("%Y%m%d")
|
|
|
+ if self.selectedtime == nowDay:
|
|
|
+ datestr = "2"
|
|
|
+ elif self.selectedtime == tomorr:
|
|
|
+ datestr = "3"
|
|
|
+ elif self.selectedtime == yester:
|
|
|
+ datestr = "1"
|
|
|
+ else:
|
|
|
+ datestr = "4"
|
|
|
+ if datestr != "4":
|
|
|
+ ip = "http://" + self.ipinfo + "/static/updateVin/" + self.displayMode + "/%s" % datestr
|
|
|
+ self.vin = requests.get(url=ip, timeout=30).json()["返回值"]
|
|
|
+ print(datetime.datetime.now(), "人工更新刷新", self.vin)
|
|
|
+ elif "ALL" in str(name) and self.doubleclickLockUpdate == 0:
|
|
|
+ th111111 = QThread()
|
|
|
+ self.sortTableWidgetDispalyThread111111 = sortdisplaySever("sortTableWidgetDispalyALL", self.ipinfo,
|
|
|
+ self.selectedtime, self.FLIGHTonChange_text,
|
|
|
+ self.displayMode, "1", self.displaySelect_mode,
|
|
|
+ th111111)
|
|
|
+ self.sortTableWidgetDispalyThread111111.sortupdate.connect(self.QThreadSortDispalyNow)
|
|
|
+ self.sortTableWidgetDispalyThread111111.moveToThread(th111111)
|
|
|
+ th111111.started.connect(self.sortTableWidgetDispalyThread111111.run)
|
|
|
+ th111111.start()
|
|
|
+ elif "search" in str(name) and self.doubleclickLockUpdate == 0:
|
|
|
+ # print(datetime.datetime.now())
|
|
|
+ th111 = QThread()
|
|
|
+ self.sortTableWidgetDispalyThread111 = sortdisplaySever("SearchsortTableWidgetDispaly", self.ipinfo,
|
|
|
+ self.selectedtime, self.FLIGHTonChange_text,
|
|
|
+ self.displayMode, self.sorttableWidgetDispalydataALL, self.displaySelect_mode,
|
|
|
+ th111)
|
|
|
+ self.sortTableWidgetDispalyThread111.sortupdate.connect(self.QThreadSortDispalyNow)
|
|
|
+ self.sortTableWidgetDispalyThread111.moveToThread(th111)
|
|
|
+ th111.started.connect(self.sortTableWidgetDispalyThread111.run)
|
|
|
+ th111.start()
|
|
|
+ elif "change" in str(name):
|
|
|
+ # print(datetime.datetime.now())
|
|
|
+ th12 = QThread()
|
|
|
+ self.sorttableWidgetDisplayChangeThread12 = sortdisplaySever("sorttableWidgetDisplayChange",
|
|
|
+ self.ipinfo, self.selectedtime,
|
|
|
+ self.changeonChange_text, "", "", "", th12)
|
|
|
+ self.sorttableWidgetDisplayChangeThread12.sortupdate.connect(self.QThreadSortDispalyNow)
|
|
|
+ self.sorttableWidgetDisplayChangeThread12.moveToThread(th12)
|
|
|
+ th12.started.connect(self.sorttableWidgetDisplayChangeThread12.run)
|
|
|
+ th12.start()
|
|
|
+ elif "people" in str(name):
|
|
|
+ # print(datetime.datetime.now())
|
|
|
+ th13 = QThread()
|
|
|
+ self.sorttableWidgetPeopleDisplayThread13 = sortdisplaySever("sorttableWidgetPeopleDisplay",
|
|
|
+ self.ipinfo, self.selectedtime,
|
|
|
+ self.peolpleonChange_text, "",
|
|
|
+ self.selectedbc, self.searchpeoplestr,
|
|
|
+ th13)
|
|
|
+ self.sorttableWidgetPeopleDisplayThread13.sortupdate.connect(self.QThreadSortDispalyNow)
|
|
|
+ self.sorttableWidgetPeopleDisplayThread13.moveToThread(th13)
|
|
|
+ th13.started.connect(self.sorttableWidgetPeopleDisplayThread13.run)
|
|
|
+ th13.start()
|
|
|
+ elif "log" in str(name):
|
|
|
+ # print(datetime.datetime.now())
|
|
|
+ th14 = QThread()
|
|
|
+ self.sorttableWidgetLOGDispalyThread14 = sortdisplaySever("sorttableWidgetLOGDispaly", self.ipinfo,
|
|
|
+ self.selectedtime, self.logonChange_text, "",
|
|
|
+ "", "", th14)
|
|
|
+ self.sorttableWidgetLOGDispalyThread14.sortupdate.connect(self.QThreadSortDispalyNow)
|
|
|
+ self.sorttableWidgetLOGDispalyThread14.moveToThread(th14)
|
|
|
+ th14.started.connect(self.sorttableWidgetLOGDispalyThread14.run)
|
|
|
+ th14.start()
|
|
|
+ elif "setlocalip" in str(name):
|
|
|
+ th99 = QThread()
|
|
|
+ self.setlocalipThread = setlocalip(self.localip, th99)
|
|
|
+ self.setlocalipThread.localipupdate.connect(self.setlocalipback)
|
|
|
+ self.setlocalipThread.moveToThread(th99)
|
|
|
+ th99.started.connect(self.setlocalipThread.run)
|
|
|
+ th99.start()
|
|
|
+ elif "phone" in str(name):
|
|
|
+ th15 = QThread()
|
|
|
+ self.sorttableWidgetPHONEDispaly15 = sortdisplaySever("sorttableWidgetPHONEDispaly", self.ipinfo, "",
|
|
|
+ self.changeonPhone_text, "", "", "", th15)
|
|
|
+ self.sorttableWidgetPHONEDispaly15.sortupdate.connect(self.QThreadSortDispalyNow)
|
|
|
+ self.sorttableWidgetPHONEDispaly15.moveToThread(th15)
|
|
|
+ th15.started.connect(self.sorttableWidgetPHONEDispaly15.run)
|
|
|
+ th15.start()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def tableWidgetLOGDispaly(self):
|
|
|
+ try:
|
|
|
+ log = self.sortlog
|
|
|
+ self.tableWidgetLOG.setRowCount(len(log.keys()))
|
|
|
+ if log != "":
|
|
|
+ for i in log.keys():
|
|
|
+ self.tableWidgetLOG.setItem(int(i), 0, QTableWidgetItem(str(int(i)+1)))
|
|
|
+ self.tableWidgetLOG.setItem(int(i), 1, QTableWidgetItem(str(log[i])))
|
|
|
+ self.tableWidgetLOG.item(int(i), 0).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ self.tableWidgetLOG.resizeColumnToContents(0)
|
|
|
+ self.tableWidgetLOG.setColumnWidth(1, 240)
|
|
|
+ self.tableWidgetLOG.resizeRowsToContents()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def itemclick(self, row, column):
|
|
|
+ if self.doubleclickLockUpdate == 1 and self.doubleclickLock == 0:
|
|
|
+ self.doubleclickLockUpdate = 0
|
|
|
+ #self.QThreadSortNow("ALL")
|
|
|
+ #self.QThreadSortNow("main")
|
|
|
+ try:
|
|
|
+ self.tableWidgetFlight.cellChanged.disconnect(self.cellchanged)
|
|
|
+ except:
|
|
|
+ pass
|
|
|
+
|
|
|
+ def itemclick2(self, row, column):
|
|
|
+ try:
|
|
|
+ # print(self.doubleclickLock)
|
|
|
+ if (int(column) - self.tableWidgetFlight.columnCount() == -1 or 9 < column < 16) and self.doubleclickLock == 0:
|
|
|
+ self.doubleclickLockUpdate=1
|
|
|
+ self.clickrow = row
|
|
|
+ self.clickcolumn = column
|
|
|
+ self.olditem = self.tableWidgetFlight.item(row, column).text()
|
|
|
+ item = self.tableWidgetFlight.item(row, column)
|
|
|
+ # 如果单元格对象不存在,则返回默认的背景色
|
|
|
+ if not item:
|
|
|
+ self.color=self.tableWidgetFlight.palette().color(QPalette.Base)
|
|
|
+ else:
|
|
|
+ # 获取并返回单元格的背景色
|
|
|
+ self.color=item.background()
|
|
|
+ self.tableWidgetFlight.cellChanged.connect(self.cellchanged)
|
|
|
+ else:
|
|
|
+ self.doubleclickLockUpdate = 0
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def cellchanged(self, row, column):
|
|
|
+ if self.clickrow == row and self.clickcolumn == column and self.displayMode =="A":
|
|
|
+ self.clickrow = None
|
|
|
+ self.clickcolumn = None
|
|
|
+ try:
|
|
|
+ #t1 = datetime.datetime.now()
|
|
|
+ self.doubleclickLock = 1
|
|
|
+ self.newitem = self.tableWidgetFlight.item(row, column).text().replace("\"","*").replace("\\",";").replace("\'","*").replace("/","、").replace("#","*")
|
|
|
+ flightid = self.tableWidgetFlight.item(row, self.tableWidgetFlight.columnCount() - 5).text()
|
|
|
+ flighttype = self.tableWidgetFlight.item(row, 9).text()
|
|
|
+ acno = self.tableWidgetFlight.item(row, 1).text()
|
|
|
+ flightno = self.tableWidgetFlight.item(row, 4).text()
|
|
|
+ bgtype = str(self.displayLabel[column]).replace("/","")
|
|
|
+ if int(column) - self.tableWidgetFlight.columnCount() == -1:
|
|
|
+ item = self.tableWidgetFlight.item(row, column)
|
|
|
+ if item.text() != "":
|
|
|
+ text = item.text().replace("\"","*").replace("\\",";").replace("\'","*").replace("/","、").replace("#","*")
|
|
|
+ else:
|
|
|
+ text = "清空项目12345678987654321"
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/updateEidteItem/" + "%s/" % str(text) + "%s/" % str(flightid) + "%s/" % str(self.displayMode) + "%s/" % str(flighttype) + "%s" % str(self.selectedtime)
|
|
|
+ # print(ip)
|
|
|
+ ip2 = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "航班显示模块:%s,%s%s由%s变更为%s%s/" % (acno, flightno, bgtype, self.olditem, self.newitem,datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ try:
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ requests.get(url=ip2, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ elif 9 < column < 16 and self.olditem != self.newitem:
|
|
|
+ item = self.tableWidgetFlight.item(row, column)
|
|
|
+ if item.text() != "":
|
|
|
+ text = item.text().replace("\"","*").replace("\\",";").replace("\'","*").replace("/","、").replace("#","*")
|
|
|
+ if "!" in str(text):
|
|
|
+ text = text.replace("!", "")
|
|
|
+ if "√" in str(text):
|
|
|
+ text = text.replace("√", "")
|
|
|
+ else:
|
|
|
+ text = "清空项目12345678987654321"
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/checkPglist/%s/%s/%s" % (text, self.selectedtime, self.selectedbc)
|
|
|
+ # print(ip)
|
|
|
+ try:
|
|
|
+ res = requests.get(url=ip, timeout=30).json()
|
|
|
+ if res["返回值"] == "fail":
|
|
|
+ self.tableWidgetFlight.setItem(int(row), column, QTableWidgetItem(str(self.olditem)))
|
|
|
+ self.tableWidgetFlight.item(int(row), column).setBackground(QColor(self.color))
|
|
|
+ self.tableWidgetFlight.item(int(row), column).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ QMessageBox.warning(self, "警告", "%sAMRO未考勤,请核实考勤名单或者检查人员字母!" % text)
|
|
|
+ elif res["返回值"] == "OK" and self.maintainAuthCheckSts == 1 and text != "清空项目12345678987654321" and column == 10 and "3U" not in str(flightno) and "CSC" not in str(flightno):
|
|
|
+ ####需要加一把锁,有功能开关调用
|
|
|
+ airplanetype=self.tableWidgetFlight.item(row, 2).text()
|
|
|
+ engtype=self.tableWidgetFlight.item(row, 3).text()
|
|
|
+ if "A3" in airplanetype and engtype[0:3] =="LEA":
|
|
|
+ auttype="ALEAP"
|
|
|
+ elif "A3" in airplanetype and engtype[0:3] !="LEA":
|
|
|
+ auttype = "ACSC"
|
|
|
+ elif "737NG" in airplanetype:
|
|
|
+ auttype = "737NG"
|
|
|
+ elif "737MAX" in airplanetype:
|
|
|
+ auttype = "737MAX"
|
|
|
+ else:
|
|
|
+ auttype = "ALL"
|
|
|
+ ipp = "http://" + str(self.ipinfo) + "/static/maintainAuthCheck/%s/%s" % (text, auttype)
|
|
|
+ try:
|
|
|
+ res = requests.get(url=ipp, timeout=30).json()
|
|
|
+ if res["返回值"] == "fail":
|
|
|
+ self.tableWidgetFlight.setItem(int(row), column,QTableWidgetItem(str(self.olditem)))
|
|
|
+ self.tableWidgetFlight.item(int(row), column).setBackground(QColor(self.color))
|
|
|
+ self.tableWidgetFlight.item(int(row), column).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ QMessageBox.warning(self, "警告", "%s不满足发动机授权条件!请核对信息或者更新授权信息!" % text)
|
|
|
+ elif res["返回值"] == "ok":
|
|
|
+ self.tableWidgetFlight.setItem(int(row), column,QTableWidgetItem(str(self.newitem)))
|
|
|
+ self.tableWidgetFlight.item(int(row), column).setBackground(QColor("yellow"))
|
|
|
+ self.tableWidgetFlight.item(int(row), column).setForeground(QColor("black"))
|
|
|
+ self.tableWidgetFlight.item(int(row), column).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/updateDragDropItem/%s/%s/%s/%s/%s/%s" % (column, text, flightid, self.displayMode, flighttype, self.selectedtime)
|
|
|
+ # print(ip)
|
|
|
+ ip2 = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "航班显示模块:%s,%s%s由%s变更为%s%s/" % (acno, flightno, bgtype, self.olditem, self.newitem,datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ try:
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ requests.get(url=ip2, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ except:
|
|
|
+ self.tableWidgetFlight.setItem(int(row), column, QTableWidgetItem(str(self.olditem)))
|
|
|
+ self.tableWidgetFlight.item(int(row), column).setBackground(QColor(self.color))
|
|
|
+ self.tableWidgetFlight.item(int(row), column).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ elif (res["返回值"] == "OK" and (self.maintainAuthCheckSts == 0 or "3U" in str(flightno) or "CSC" in str(flightno))) or text == "清空项目12345678987654321" or column != 10:
|
|
|
+ self.tableWidgetFlight.setItem(int(row), column, QTableWidgetItem(str(self.newitem)))
|
|
|
+ self.tableWidgetFlight.item(int(row), column).setBackground(QColor("yellow"))
|
|
|
+ self.tableWidgetFlight.item(int(row), column).setForeground(QColor("black"))
|
|
|
+ self.tableWidgetFlight.item(int(row), column).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/updateDragDropItem/%s/%s/%s/%s/%s/%s" % (column, text, flightid, self.displayMode, flighttype, self.selectedtime)
|
|
|
+ # print(ip)
|
|
|
+ ip2 = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "航班显示模块:%s,%s%s由%s变更为%s%s/" % (acno, flightno, bgtype, self.olditem, self.newitem,datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ try:
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ requests.get(url=ip2, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ else:
|
|
|
+ self.tableWidgetFlight.setItem(int(row), column, QTableWidgetItem(str(self.olditem)))
|
|
|
+ self.tableWidgetFlight.item(int(row), column).setBackground(QColor(self.color))
|
|
|
+ self.tableWidgetFlight.item(int(row), column).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ except Exception:
|
|
|
+ self.tableWidgetFlight.setItem(int(row), column, QTableWidgetItem(str(self.olditem)))
|
|
|
+ self.tableWidgetFlight.item(int(row), column).setBackground(QColor(self.color))
|
|
|
+ self.tableWidgetFlight.item(int(row), column).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ self.doubleclickLockUpdate = 0
|
|
|
+ self.doubleclickLock = 0
|
|
|
+ self.tableWidgetFlight.cellChanged.disconnect(self.cellchanged)
|
|
|
+ self.QThreadSortNow("main")
|
|
|
+ #t2 = datetime.datetime.now()
|
|
|
+ #print(f'【编辑操作】【客户端计时】:{t2 - t1}')
|
|
|
+ except Exception:
|
|
|
+ self.doubleclickLockUpdate = 0
|
|
|
+ self.clickrow = None
|
|
|
+ self.clickcolumn = None
|
|
|
+ try:
|
|
|
+ self.tableWidgetFlight.cellChanged.disconnect(self.cellchanged)
|
|
|
+ except:
|
|
|
+ pass
|
|
|
+ self.tableWidgetFlight.setItem(int(row), column, QTableWidgetItem(str(self.olditem)))
|
|
|
+ self.tableWidgetFlight.item(int(row), column).setBackground(QColor(self.color))
|
|
|
+ self.tableWidgetFlight.item(int(row), column).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ self.doubleclickLock = 0
|
|
|
+ self.QThreadSortNow("main")
|
|
|
+ elif self.clickrow == row and self.clickcolumn == column and self.displayMode =="B":
|
|
|
+ self.clickrow = None
|
|
|
+ self.clickcolumn = None
|
|
|
+ try:
|
|
|
+ self.doubleclickLock = 1
|
|
|
+ self.newitem = self.tableWidgetFlight.item(row, column).text()
|
|
|
+ flightid = self.tableWidgetFlight.item(row, self.tableWidgetFlight.columnCount() - 5).text()
|
|
|
+ flighttype = self.tableWidgetFlight.item(row, 9).text()
|
|
|
+ acno = self.tableWidgetFlight.item(row, 1).text()
|
|
|
+ flightno = self.tableWidgetFlight.item(row, 4).text()
|
|
|
+ bgtype = str(self.displayLabel[column]).replace("/","")
|
|
|
+ if int(column) - self.tableWidgetFlight.columnCount() == -1:
|
|
|
+ item = self.tableWidgetFlight.item(row, column)
|
|
|
+ if item.text() != "":
|
|
|
+ text = item.text().replace("\"","#").replace("\\",";").replace("\'","#")
|
|
|
+ else:
|
|
|
+ text = "清空项目12345678987654321"
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/updateEidteItem/" + "%s/" % str(text) + "%s/" % str(flightid) + "%s/" % str(self.displayMode) + "%s/" % str(flighttype) + "%s" % str(self.selectedtime)
|
|
|
+ # print(ip)
|
|
|
+ ip2 = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "维修记录模块:%s,%s%s由%s变更为%s%s/" % (acno, flightno, bgtype, self.olditem, self.newitem,datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ try:
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ requests.get(url=ip2, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ elif 9 < column < 16 and self.olditem != self.newitem:
|
|
|
+ item = self.tableWidgetFlight.item(row, column)
|
|
|
+ if item.text() != "":
|
|
|
+ text = item.text().replace("\"","#").replace("\\",";").replace("\'","#")
|
|
|
+ if "!" in str(text):
|
|
|
+ text = text.replace("!", "")
|
|
|
+ if "√" in str(text):
|
|
|
+ text = text.replace("√", "")
|
|
|
+ else:
|
|
|
+ text = "清空项目12345678987654321"
|
|
|
+ # print(ip)
|
|
|
+ try:
|
|
|
+ if text != "清空项目12345678987654321":
|
|
|
+ ####需要加一把锁,有功能开关调用
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/updateDragDropItem/%s/%s/%s/%s/%s/%s" % (column, text, flightid, self.displayMode, flighttype, self.selectedtime)
|
|
|
+ # print(ip)
|
|
|
+ ip2 = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "维修记录模块:%s,%s%s由%s变更为%s%s/" % (acno, flightno, bgtype, self.olditem, self.newitem,datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ try:
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ self.tableWidgetFlight.setItem(int(row), column, QTableWidgetItem(str(self.newitem)))
|
|
|
+ self.tableWidgetFlight.item(int(row), column).setBackground(QColor("yellow"))
|
|
|
+ self.tableWidgetFlight.item(int(row), column).setForeground(QColor("black"))
|
|
|
+ self.tableWidgetFlight.item(int(row), column).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ requests.get(url=ip2, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ elif text == "清空项目12345678987654321":
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/updateDragDropItem/%s/%s/%s/%s/%s/%s" % (column, text, flightid, self.displayMode, flighttype, self.selectedtime)
|
|
|
+ # print(ip)
|
|
|
+ ip2 = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "维修记录模块:%s,%s%s由%s变更为%s%s/" % (acno, flightno, bgtype, self.olditem, self.newitem,datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ try:
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ self.tableWidgetFlight.setItem(int(row), column, QTableWidgetItem(str(self.newitem)))
|
|
|
+ self.tableWidgetFlight.item(int(row), column).setBackground(QColor("yellow"))
|
|
|
+ self.tableWidgetFlight.item(int(row), column).setForeground(QColor("black"))
|
|
|
+ self.tableWidgetFlight.item(int(row), column).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ requests.get(url=ip2, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ else:
|
|
|
+ self.tableWidgetFlight.setItem(int(row), column, QTableWidgetItem(str(self.olditem)))
|
|
|
+ self.tableWidgetFlight.item(int(row), column).setBackground(QColor(self.color))
|
|
|
+ self.tableWidgetFlight.item(int(row), column).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ except Exception:
|
|
|
+ self.tableWidgetFlight.setItem(int(row), column, QTableWidgetItem(str(self.olditem)))
|
|
|
+ self.tableWidgetFlight.item(int(row), column).setBackground(QColor(self.color))
|
|
|
+ self.tableWidgetFlight.item(int(row), column).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ self.doubleclickLockUpdate = 0
|
|
|
+ self.doubleclickLock = 0
|
|
|
+ self.tableWidgetFlight.cellChanged.disconnect(self.cellchanged)
|
|
|
+ self.QThreadSortNow("main")
|
|
|
+ except Exception:
|
|
|
+ self.doubleclickLockUpdate = 0
|
|
|
+ self.clickrow = None
|
|
|
+ self.clickcolumn = None
|
|
|
+ try:
|
|
|
+ self.tableWidgetFlight.cellChanged.disconnect(self.cellchanged)
|
|
|
+ except:
|
|
|
+ pass
|
|
|
+ self.tableWidgetFlight.setItem(int(row), column, QTableWidgetItem(str(self.olditem)))
|
|
|
+ self.tableWidgetFlight.item(int(row), column).setBackground(QColor(self.color))
|
|
|
+ self.tableWidgetFlight.item(int(row), column).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ self.doubleclickLock = 0
|
|
|
+ self.QThreadSortNow("main")
|
|
|
+
|
|
|
+ def btnClick(self, item):
|
|
|
+ if int(self.authority) != 3:
|
|
|
+ try:
|
|
|
+ btn = self.sender()
|
|
|
+ now_2=datetime.datetime.now()- datetime.timedelta(seconds=2)
|
|
|
+ print(self.changeupdatetime,now_2)
|
|
|
+ if btn:
|
|
|
+ row = self.tableWidget.indexAt(btn.pos()).row()
|
|
|
+ a = self.tableWidget.item(row, 3).text()
|
|
|
+ self.severpost_nomeassge("dealLogs", "/%s" % self.user, "/%s" % a, "", "")
|
|
|
+ self.QThreadSortNow("change")
|
|
|
+ if self.changeupdatetime < now_2:
|
|
|
+ self.changeupdatetime = datetime.datetime.now()
|
|
|
+ self.QThreadSortNow("main")
|
|
|
+
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ else:
|
|
|
+ QMessageBox.warning(self, "提示", "权限不够,请联系管理员!")
|
|
|
+
|
|
|
+ def tableWidgetDisplayChange(self):
|
|
|
+ try:
|
|
|
+ log = self.sortlogchange
|
|
|
+ self.tableWidget.setRowCount(len(log.keys()))
|
|
|
+ if log != "":
|
|
|
+ for i in log.keys():
|
|
|
+
|
|
|
+ btnList = [QPushButton('处理')]
|
|
|
+ self.tableWidget.setItem(int(i), 0, QTableWidgetItem(str(int(i)+1)))
|
|
|
+ self.tableWidget.setItem(int(i), 1, QTableWidgetItem(str(log[i][2])))
|
|
|
+ self.tableWidget.setItem(int(i), 3, QTableWidgetItem(str(log[i][0])))
|
|
|
+ self.tableWidget.setItem(int(i), 4, QTableWidgetItem(str(log[i][1])))
|
|
|
+ self.tableWidget.setItem(int(i), 5, QTableWidgetItem(str(log[i][10])))
|
|
|
+ self.tableWidget.setCellWidget(int(i), 2, btnList[0])
|
|
|
+ self.tableWidget.item(int(i), 0).setForeground(QColor('red'))
|
|
|
+ self.tableWidget.item(int(i), 1).setForeground(QColor('red'))
|
|
|
+ self.tableWidget.item(int(i), 0).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ self.tableWidget.item(int(i), 1).setToolTip("%s" % str(log[i][10]))
|
|
|
+ for btn in btnList:
|
|
|
+ btn.clicked.connect(self.btnClick)
|
|
|
+ self.tableWidget.setColumnHidden(5, True)
|
|
|
+ self.tableWidget.setColumnHidden(4, True)
|
|
|
+ self.tableWidget.setColumnHidden(3, True)
|
|
|
+ self.tableWidget.resizeColumnToContents(0)
|
|
|
+ self.tableWidget.setColumnWidth(2, 40)
|
|
|
+ self.tableWidget.setColumnWidth(1, 210)
|
|
|
+ self.tableWidget.resizeRowsToContents()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def generateMenu3(self, pos):
|
|
|
+ try:
|
|
|
+ for i in self.tableWidget_3.selectionModel().selection().indexes():
|
|
|
+ menu = QMenu()
|
|
|
+ item2 = menu.addAction('拨打IP电话')
|
|
|
+ screenPos = self.tableWidget_3.mapToGlobal(pos)
|
|
|
+ action = menu.exec(screenPos)
|
|
|
+ rowIndex = i.row()
|
|
|
+ phonenum = self.tableWidget_3.item(rowIndex, 3).text()
|
|
|
+ if action == item2:
|
|
|
+ if self.localip != None and self.localtoken != None:
|
|
|
+ try:
|
|
|
+ data = {"PHB_AutoDialNumber": phonenum,
|
|
|
+ "ReturnPage": "/contacts.htm",
|
|
|
+ "AutoDialSubmit": "submit",
|
|
|
+ "PHB_AutoDialLine": "1"
|
|
|
+ }
|
|
|
+ header = {
|
|
|
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
|
|
|
+ "Connection": "keep-alive",
|
|
|
+ "Cookie": self.localtoken
|
|
|
+ }
|
|
|
+ requests.post(url="http://%s/contacts.htm" % self.localip, data=data, headers=header)
|
|
|
+ except Exception:
|
|
|
+ self.show_info("警告", "拨号失败,请检查IP后重新配置或联系管理员!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ else:
|
|
|
+ self.show_info("警告", "使用前请配置IP电话!")
|
|
|
+ return
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def generateMenu2(self, pos):
|
|
|
+ try:
|
|
|
+ for i in self.tableWidgetPerson.selectionModel().selection().indexes():
|
|
|
+ menu = QMenu()
|
|
|
+ item1 = menu.addAction('查看详情')
|
|
|
+ item2 = menu.addAction('拨打IP电话')
|
|
|
+ screenPos = self.tableWidgetPerson.mapToGlobal(pos)
|
|
|
+ action = menu.exec(screenPos)
|
|
|
+ rowIndex = i.row()
|
|
|
+ colnum = self.tableWidgetPerson.columnCount()
|
|
|
+ name = self.tableWidgetPerson.item(rowIndex, 1).text()
|
|
|
+ # print(name)
|
|
|
+ if action == item2:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/get_empNos_phoone/%s" % name
|
|
|
+ infos = requests.get(url=ip, timeout=30).json()
|
|
|
+
|
|
|
+ # print(self.localtoken)
|
|
|
+ # '''
|
|
|
+ if infos == {}:
|
|
|
+ self.show_info("警告", "无法查询到%s个人信息,请更新后尝试!!" % name)
|
|
|
+ else:
|
|
|
+ try:
|
|
|
+ # print(infos["电话"])
|
|
|
+ data = {"PHB_AutoDialNumber": infos["电话"],
|
|
|
+ "ReturnPage": "/contacts.htm",
|
|
|
+ "AutoDialSubmit": "submit",
|
|
|
+ "PHB_AutoDialLine": "1"
|
|
|
+ }
|
|
|
+ header = {
|
|
|
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
|
|
|
+ "Connection": "keep-alive",
|
|
|
+ "Cookie": self.localtoken
|
|
|
+ }
|
|
|
+ requests.post(url="http://%s/contacts.htm" % self.localip, data=data, headers=header)
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ # '''
|
|
|
+ return
|
|
|
+ elif action == item1:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/get_empNos_phoone/%s" % name
|
|
|
+ infos = requests.get(url=ip, timeout=30).json()
|
|
|
+ # print(infos)
|
|
|
+ # '''
|
|
|
+ if infos == {}:
|
|
|
+ self.show_info("警告", "无法查询到%s个人信息,请更新后尝试!!" % name)
|
|
|
+ else:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/get_empNos_phoone/%s" % name
|
|
|
+ infos = requests.get(url=ip, timeout=30).json()
|
|
|
+ self.checkLoadSingal = checkLoadSingal()
|
|
|
+ self.checkLoadSingal.worknum = infos["工号"]
|
|
|
+ self.checkLoadSingal.ipinfo = self.ipinfo
|
|
|
+ self.checkLoadSingal.name = name
|
|
|
+ self.checkLoadSingal.selectedtime = self.selectedtime
|
|
|
+ self.checkLoadSingal.start()
|
|
|
+ # print("正在开发")
|
|
|
+ else:
|
|
|
+ return
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def LM_TSK_SURE_PG_NOW(self, id, empNos, type, shiftDate, shift):
|
|
|
+ dict = {"taskid": id,
|
|
|
+ "empNos": empNos,
|
|
|
+ "type": type,
|
|
|
+ "shiftDate": shiftDate,
|
|
|
+ "shift": shift
|
|
|
+ }
|
|
|
+ res = self.severpostData_nomeassge("LM_TSK_SURE_PG", data=dict)["返回值"]
|
|
|
+ return res
|
|
|
+
|
|
|
+ def send_dingdong(self, a, b, c, d, e, f, g, h, i, j, k, l):
|
|
|
+ dict_dingdong = {"acno": a,
|
|
|
+ "actype": b,
|
|
|
+ "tasktype": c,
|
|
|
+ "tatd": d,
|
|
|
+ "bay": e,
|
|
|
+ "taskid": f,
|
|
|
+ "wxemp": g,
|
|
|
+ "fxemp": h,
|
|
|
+ "wx": i,
|
|
|
+ "fx": j,
|
|
|
+ "ecsj":k,
|
|
|
+ "msgInfo": l
|
|
|
+ }
|
|
|
+ res = self.severpostData_nomeassge("dingdong", data=dict_dingdong)["返回值"]
|
|
|
+ return res
|
|
|
+
|
|
|
+ def getRiskData(self,bay,flighttype):
|
|
|
+ if "送" in flighttype or flighttype == "航前":
|
|
|
+ type="出港提示"
|
|
|
+ else:
|
|
|
+ type = "进港提示"
|
|
|
+ res=""
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/getRiskData/" + "%s/" % bay + "%s" % type
|
|
|
+ res=requests.get(url=ip, timeout=30).json()["返回值"]
|
|
|
+ except Exception:
|
|
|
+ print(traceback.format_exc())
|
|
|
+ QMessageBox.warning(self, "风险提示失效", "风险提示推送功能失效请联系管理员!")
|
|
|
+ return res
|
|
|
+
|
|
|
+ def generateMenu(self, pos):
|
|
|
+ if int(self.authority) < 3 and self.displayMode =="A":
|
|
|
+ try:
|
|
|
+ zydy = {"短停": "TR", "航后": "AF", "航前": "AP", "特后前": "TAF", "未显示": ""}
|
|
|
+ for i in self.tableWidgetFlight.selectionModel().selection().indexes():
|
|
|
+ '''
|
|
|
+ col_dic = {"0": "序号", "1": "机号", "2": "机型", "3": "发动机", "4": "航班号", "5": "计达", "6": "预达", "7": "计飞",
|
|
|
+ "8": "机位", "9": "类型", "10": "放行", "11": "工1", "12": "工2", "13": "工3", "14": "工4", "15": "班组长",
|
|
|
+ "16": "到位", "18": "放行","19": "销夹", "17": "二送", "20": "随机", "21": "随机", "22": "保留", "23": "工作包",
|
|
|
+ "24": "进出港城市","25": "维修人员", "26": "二送人员", "27": "放行", "28": "航班编号", "29": "任务编号","30":"TATD","31":"类型","32":"附加消息"}
|
|
|
+ '''
|
|
|
+ menu = QMenu()
|
|
|
+ item1 = menu.addAction('维修人员派工')
|
|
|
+ item2 = menu.addAction('放行人员派工')
|
|
|
+ item3 = menu.addAction('二送人员派工')
|
|
|
+ item4 = menu.addAction('推送维修人员')
|
|
|
+ item5 = menu.addAction('推送放行人员')
|
|
|
+ item6 = menu.addAction('推送二送人员')
|
|
|
+ item7 = menu.addAction('确认通知')
|
|
|
+ item8 = menu.addAction('人工接机到位')
|
|
|
+ item9 = menu.addAction('人工确认放行')
|
|
|
+ item10 = menu.addAction('人工确认随机到位')
|
|
|
+ item11 = menu.addAction('人工确认二送到位')
|
|
|
+ item12 = menu.addAction('人工确认销夹取下')
|
|
|
+ item13 = menu.addAction('一键派工&通知')
|
|
|
+ item15 = menu.addAction('电话通知')
|
|
|
+ item16 = menu.addAction('查看工作包')
|
|
|
+ item17 = menu.addAction('删除航班')
|
|
|
+ item18 = menu.addAction('工作交接')
|
|
|
+
|
|
|
+ screenPos = self.tableWidgetFlight.mapToGlobal(pos)
|
|
|
+ action = menu.exec(screenPos)
|
|
|
+ rowIndex = i.row()
|
|
|
+ colnum = self.tableWidgetFlight.columnCount()
|
|
|
+ # print(colnum)
|
|
|
+
|
|
|
+ acno = self.tableWidgetFlight.item(rowIndex, 1).text()
|
|
|
+ flightno = self.tableWidgetFlight.item(rowIndex, 4).text()
|
|
|
+ qw1 = self.tableWidgetFlight.item(rowIndex, 11).text().replace("!", "") if "!" in self.tableWidgetFlight.item(rowIndex, 11).text() else self.tableWidgetFlight.item(rowIndex, 11).text()
|
|
|
+ qw2 = self.tableWidgetFlight.item(rowIndex, 12).text().replace("!", "") if "!" in self.tableWidgetFlight.item(rowIndex, 12).text() else self.tableWidgetFlight.item(rowIndex, 12).text()
|
|
|
+ g1 = self.tableWidgetFlight.item(rowIndex, 13).text().replace("!", "") if "!" in self.tableWidgetFlight.item(rowIndex, 13).text() else self.tableWidgetFlight.item(rowIndex, 13).text()
|
|
|
+ g2 = self.tableWidgetFlight.item(rowIndex, 14).text().replace("!", "") if "!" in self.tableWidgetFlight.item(rowIndex, 14).text() else self.tableWidgetFlight.item(rowIndex, 14).text()
|
|
|
+ fx = self.tableWidgetFlight.item(rowIndex, 10).text().replace("!", "") if "!" in self.tableWidgetFlight.item(rowIndex, 10).text() else self.tableWidgetFlight.item(rowIndex, 10).text()
|
|
|
+
|
|
|
+ qw1_1 = "" if "√" in qw1 else qw1
|
|
|
+ qw2_1 = "" if "√" in qw2 else qw2
|
|
|
+ g1_1 = "" if "√" in g1 else g1
|
|
|
+ g2_1 = "" if "√" in g2 else g2
|
|
|
+ fx_1 = "" if "√" in fx else fx
|
|
|
+
|
|
|
+ qw1 = qw1.replace("√", "") if "√" in qw1 else qw1
|
|
|
+ qw2 = qw2.replace("√", "") if "√" in qw2 else qw2
|
|
|
+ g1 = g1.replace("√", "") if "√" in g1 else g1
|
|
|
+ g2 = g2.replace("√", "") if "√" in g2 else g2
|
|
|
+ fx = fx.replace("√", "") if "√" in fx else fx
|
|
|
+ fj = str(self.tableWidgetFlight.item(rowIndex, colnum - 1).text())
|
|
|
+ dict_people = {"工1": qw1,
|
|
|
+ "工2": qw2,
|
|
|
+ "工3": g1,
|
|
|
+ "工4": g2,
|
|
|
+ "放行": fx
|
|
|
+ }
|
|
|
+ dict_people_noCall = {"工1": qw1_1,
|
|
|
+ "工2": qw2_1,
|
|
|
+ "工3": g1_1,
|
|
|
+ "工4": g2_1,
|
|
|
+ "放行": fx_1
|
|
|
+ }
|
|
|
+ # print(dict_people)
|
|
|
+ if action == item1:
|
|
|
+ if str(self.tableWidgetFlight.item(rowIndex, colnum - 5).text()) != "" and "MAN" not in str(
|
|
|
+ self.tableWidgetFlight.item(rowIndex, colnum - 5).text()) and str(self.tableWidgetFlight.item(rowIndex, colnum - 4).text()) != "" :
|
|
|
+ empNos = self.severpostData_nomeassge("get_empNos", dict_people)
|
|
|
+ # print(empNos)
|
|
|
+ if empNos["code"] != "fail":
|
|
|
+ res=self.LM_TSK_SURE_PG_NOW(self.tableWidgetFlight.item(rowIndex, colnum - 4).text(),empNos["WXempNos"],"WX",empNos["date"],empNos["bc"])
|
|
|
+ if res == "ok":
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "%s,%s%s派工成功%s/" % (acno, flightno, str(qw1 + "-" + qw2 + "-" + g1 + "-" + g2),datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
|
|
|
+ self.show_info("成功提示", "派工成功!")
|
|
|
+ if empNos["faillist"] != []:
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "%s,%s%s派工失败%s/" % (acno, flightno,str(empNos["faillist"]).replace(",", "-").replace("'", "").replace("[", "").replace("]",""),datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
|
|
|
+ self.show_info("派工错误", "以下人员派工失败:%s,请确认考勤打卡情况!" % empNos["faillist"])
|
|
|
+ else:
|
|
|
+ self.show_info("警告", "该航班非AMRO航班或者无任务编号,请确认是否为AMRO航班,如确认请使用AMRO人工派工!!")
|
|
|
+ return
|
|
|
+ elif action == item18:
|
|
|
+ if int(self.authority) <= 2:
|
|
|
+ if self.tableWidgetFlight.item(rowIndex, 24).text() !="" and "【交班航班】" not in fj and \
|
|
|
+ ("3U" in self.tableWidgetFlight.item(rowIndex, 4).text() or "CSC" in self.tableWidgetFlight.item(rowIndex, 4).text()):
|
|
|
+ relay = QMessageBox.warning(self, "警告", "是否确定要对B-%s,%s进行工作交接?"%(self.tableWidgetFlight.item(rowIndex, 1).text(),self.tableWidgetFlight.item(rowIndex, 4).text()),
|
|
|
+ QMessageBox.StandardButton.Yes,
|
|
|
+ QMessageBox.StandardButton.Close)
|
|
|
+ if relay == QMessageBox.StandardButton.Yes:
|
|
|
+ data = {"taskid": self.tableWidgetFlight.item(rowIndex, 26).text(),"sts": "1"}
|
|
|
+ res = self.severpostData_nomeassge("handoverflight", data=data)["返回值"]
|
|
|
+ if res == "ok":
|
|
|
+ flightid = self.tableWidgetFlight.item(rowIndex, colnum - 5).text()
|
|
|
+ flighttype = self.tableWidgetFlight.item(rowIndex, 9).text()
|
|
|
+ fjxx = "【交班航班】" + fj
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/updateEidteItem/" + "%s/" % str(fjxx) + "%s/" % str(flightid) + "A/%s/" % str(flighttype) + "%s" % str(self.selectedtime)
|
|
|
+ try:
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ self.QThreadSortNow("main")
|
|
|
+ QMessageBox.warning(self, "提示", "B-%s,%s工作交接推送成功"%(self.tableWidgetFlight.item(rowIndex, 1).text(),self.tableWidgetFlight.item(rowIndex, 4).text()))
|
|
|
+
|
|
|
+ else:
|
|
|
+ QMessageBox.warning(self, "警告", "航班交接失败,请重新尝试")
|
|
|
+ elif "【交班航班】" in fj:
|
|
|
+ QMessageBox.warning(self, "提示", "该航班已交接,请勿重复交接!")
|
|
|
+ elif "3U" not in self.tableWidgetFlight.item(rowIndex, 4).text() and "CSC" not in self.tableWidgetFlight.item(rowIndex, 4).text():
|
|
|
+ QMessageBox.warning(self, "提示", "该航班为非川航航班,无需交接!!!")
|
|
|
+ else:
|
|
|
+ QMessageBox.warning(self, "提示", "无法对未安排人员的的航班无法进行交接班,请先进行派工后交班!")
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ else:
|
|
|
+ self.show_info("警告", "权限不够,请联系管理员!!!")
|
|
|
+ return
|
|
|
+ elif action == item17:
|
|
|
+ if int(self.authority) <= 1:
|
|
|
+ if "MAN" in str(self.tableWidgetFlight.item(rowIndex, colnum - 5).text()):
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/" + "deleteFlight/" + "%s/%s/%s" % (
|
|
|
+ self.tableWidgetFlight.item(rowIndex, colnum - 5).text(), self.user, self.selectedtime)
|
|
|
+ res = requests.get(url=ip, timeout=30).json()
|
|
|
+ if res["返回值"] == "ok":
|
|
|
+ self.show_info("成功提示", "航班删除成功!")
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "%s,%s航班被删除%s/" % (acno, flightno,datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
|
|
|
+ self.QThreadSortNow("main")
|
|
|
+ else:
|
|
|
+ self.show_info("提示", "航班删除失败,如需请联系管理员!")
|
|
|
+ else:
|
|
|
+ self.show_info("警告", "删除航班功能仅限于人工添加的航班,AMRO航班无法删除!!!")
|
|
|
+ else:
|
|
|
+ self.show_info("警告", "权限不够,请联系管理员!!!")
|
|
|
+ return
|
|
|
+ elif action == item16:
|
|
|
+ if str(self.tableWidgetFlight.item(rowIndex, colnum - 5).text()) != "" and "MAN" not in str(self.tableWidgetFlight.item(rowIndex, colnum - 5).text()) and str(self.tableWidgetFlight.item(rowIndex, colnum - 4).text()) != "":
|
|
|
+ taskid = self.tableWidgetFlight.item(rowIndex, colnum - 4).text()
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/checkWorkjob/%s" % taskid
|
|
|
+ infos = requests.get(url=ip, timeout=30).json()
|
|
|
+ if infos["返回值"] == "ok":
|
|
|
+ self.show_info("成功提示", "工作包查询成功!")
|
|
|
+ self.QThreadSortNow("main")
|
|
|
+ else:
|
|
|
+ self.show_info("警告", "该航班非AMRO航班或者无任务编号,无法查询工作包!!")
|
|
|
+ return
|
|
|
+ elif action == item15:
|
|
|
+ # {"工号":"0","电话":"1","姓名":"2","航班编号":"3","航班号":"4","附加消息":"5","拨号次数":"6","":"8","":"9","":"10"}
|
|
|
+ if "人工" not in str(fj):
|
|
|
+ for i in dict_people_noCall.keys():
|
|
|
+ if dict_people_noCall[i] != "":
|
|
|
+ name = str(dict_people_noCall[i])
|
|
|
+ if "!" in name:
|
|
|
+ name = name.replace("!", "")
|
|
|
+ if "√" in name:
|
|
|
+ name = name.replace("√", "")
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/get_empNos_phoone/%s" % name
|
|
|
+ infos = requests.get(url=ip, timeout=30).json()
|
|
|
+ # print(infos)
|
|
|
+ flightnumber = self.tableWidgetFlight.item(rowIndex, 4).text()
|
|
|
+ flighttype = self.tableWidgetFlight.item(rowIndex, 9).text()
|
|
|
+ flightids = str(self.tableWidgetFlight.item(rowIndex, colnum - 4).text()) + str(
|
|
|
+ flighttype) + str(name) + str(datetime.datetime.now().strftime("%H:%M:%S"))
|
|
|
+ if infos == {}:
|
|
|
+ self.show_info("警告", "无法查询到%s个人信息,请人工联系或更新后尝试!!" % name)
|
|
|
+ ip = "http://" + str(
|
|
|
+ self.ipinfo) + "/static/insertLogs/" + "%s%s%s未在通讯录,无法完成自动拨号,请人工联系或更新信息后尝试" % (
|
|
|
+ flightnumber, flighttype, name) + "/system/" + str(
|
|
|
+ datetime.datetime.now().strftime("%Y-%m-%d %H:%M"))
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ else:
|
|
|
+ callnumber = 0
|
|
|
+ data = {"工号": "%s" % infos["工号"], "电话": "%s" % infos["电话"], "姓名": "%s" % name,
|
|
|
+ "航班编号": "%s" % flightids, "航班号": "%s" % flightnumber, "附加消息": "%s" % fj,
|
|
|
+ "拨号次数": callnumber}
|
|
|
+ self.severpostData_nomeassge("insertCalllist", data)
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/calltry"
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ self.severpost_nomeassge("infoConfirm", "/%s" % self.tableWidgetFlight.item(rowIndex, 9).text(),
|
|
|
+ "/%s" % self.tableWidgetFlight.item(rowIndex, colnum - 5).text(),
|
|
|
+ "/%s" % self.displayMode, "/%s" % self.selectedtime)
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "%s,%s电话通知%s/" % (
|
|
|
+ acno, flightno,datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
|
|
|
+ self.QThreadSortNow("main")
|
|
|
+ # 需要一次拨号请求
|
|
|
+ else:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/insertLogs/" + "%s,%s附加消息有需要人工通知的内容,请人工介入,请通知到位后点击确认通知!!" % (acno, flightno) + "/system/" + str(datetime.datetime.now().strftime("%Y-%m-%d %H:%M"))
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ QMessageBox.warning(self, "人工提醒", "%s,%s附加消息有需要人工通知的内容,将推送航班监控席位由人工通知!" % (acno, flightno) )
|
|
|
+ return
|
|
|
+ elif action == item2:
|
|
|
+ if str(self.tableWidgetFlight.item(rowIndex, colnum - 5).text()) != "" and "MAN" not in str(
|
|
|
+ self.tableWidgetFlight.item(rowIndex, colnum - 5).text()) and str(self.tableWidgetFlight.item(rowIndex, colnum - 4).text()) != "":
|
|
|
+ empNos = self.severpostData_nomeassge("get_empNos", dict_people)
|
|
|
+ if empNos["code"] != "fail":
|
|
|
+
|
|
|
+ res = self.LM_TSK_SURE_PG_NOW(self.tableWidgetFlight.item(rowIndex, colnum - 4).text(),empNos["FXempNos"], "FX", empNos["date"], empNos["bc"])
|
|
|
+
|
|
|
+ if res == "ok":
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "%s,%s%s派工成功%s/" % (acno, flightno, str(fx),datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except:
|
|
|
+ self.show_info("日志功能失效", "操作日志功能失效请联系管理员")
|
|
|
+ self.show_info("成功提示", "派工成功!")
|
|
|
+ if empNos["faillist"] != []:
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "%s,%s%s派工失败%s/" % (acno, flightno,str(empNos["faillist"]).replace(",", "-").replace("'", "").replace("[", "").replace("]",""),datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
|
|
|
+ self.show_info("派工错误", "以下人员派工失败:%s,请确认考勤打卡情况!" % empNos["faillist"])
|
|
|
+ else:
|
|
|
+ self.show_info("警告", "该航班非AMRO航班或者无任务编号,请确认是否为AMRO航班,如确认请使用AMRO人工派工!!")
|
|
|
+ return
|
|
|
+ elif action == item3:
|
|
|
+ if str(self.tableWidgetFlight.item(rowIndex, colnum - 5).text()) != "" and "MAN" not in str(self.tableWidgetFlight.item(rowIndex, colnum - 5).text()) and str(self.tableWidgetFlight.item(rowIndex, colnum - 4).text()) != "":
|
|
|
+ empNos = self.severpostData_nomeassge("get_empNos", dict_people)
|
|
|
+ if empNos["code"] != "fail":
|
|
|
+ res = self.LM_TSK_SURE_PG_NOW(self.tableWidgetFlight.item(rowIndex, colnum - 4).text(),empNos["ESempNos"], "ECSJ", empNos["date"], empNos["bc"])
|
|
|
+
|
|
|
+ if res == "ok":
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "%s,%s%s派工成功%s/" % (acno, flightno, str(g1 + "-" + g2),datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
|
|
|
+ self.show_info("成功提示", "派工成功!")
|
|
|
+ if empNos["faillist"] != []:
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "%s,%s%s派工失败%s/" % (acno, flightno,str(empNos["faillist"]).replace(",", "-").replace("'", "").replace("[", "").replace("]",""),datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
|
|
|
+ self.show_info("派工错误", "以下人员派工失败:%s,请确认考勤打卡情况!" % empNos["faillist"])
|
|
|
+ else:
|
|
|
+ self.show_info("警告", "该航班非AMRO航班或者无任务编号,请确认是否为AMRO航班,如确认请使用AMRO人工派工!!")
|
|
|
+ return
|
|
|
+ elif action == item4:
|
|
|
+ if str(self.tableWidgetFlight.item(rowIndex, colnum - 5).text()) != "" and "MAN" not in str(
|
|
|
+ self.tableWidgetFlight.item(rowIndex, colnum - 5).text()) and str(self.tableWidgetFlight.item(rowIndex, colnum - 4).text()) != "":
|
|
|
+ empNos = self.severpostData_nomeassge("get_empNos", dict_people)
|
|
|
+ if empNos["code"] != "fail":
|
|
|
+ risktips=""
|
|
|
+ if self.tableWidgetFlight.item(rowIndex, 8).text() !="":
|
|
|
+ res=self.getRiskData(self.tableWidgetFlight.item(rowIndex, 8).text(),self.tableWidgetFlight.item(rowIndex, 9).text())
|
|
|
+ risktips=f"【风险提示】{res}" if res !="" else ""
|
|
|
+ msgInfo="进港维修任务保障推送!%s%s" % (fj,risktips)
|
|
|
+ res= self.send_dingdong(self.tableWidgetFlight.item(rowIndex, 1).text(),self.tableWidgetFlight.item(rowIndex, 2).text(),
|
|
|
+ self.tableWidgetFlight.item(rowIndex, colnum - 2).text(),
|
|
|
+ "进" +self.tableWidgetFlight.item(rowIndex, colnum - 3).text().split("</br>")[0] + ",出" +self.tableWidgetFlight.item(rowIndex, colnum - 3).text().split("</br>")[1],
|
|
|
+ self.tableWidgetFlight.item(rowIndex, 8).text(),self.tableWidgetFlight.item(rowIndex, colnum - 4).text(),
|
|
|
+ empNos["WXempNos"],"",empNos["WX"],empNos["FX"],"",msgInfo)
|
|
|
+ if res != "ok":
|
|
|
+ self.show_info("失败提示", "%s维修人员%s派工信息推送失败!" % (self.tableWidgetFlight.item(rowIndex, 1).text(), empNos["WX"]))
|
|
|
+ else:
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "%s,%s%s派工信息推送成功%s/" % (acno, flightno, str(qw1 + "-" + qw2 + "-" + g1 + "-" + g2),datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
|
|
|
+ self.severpost_nomeassge("infoConfirm2", "/%s" % self.tableWidgetFlight.item(rowIndex, 9).text(),"/%s" % self.tableWidgetFlight.item(rowIndex,colnum - 5).text(),"/%s" % self.displayMode, "/%s" % self.selectedtime)
|
|
|
+ self.show_info("成功提示", "%s维修人员%s派工信息推送成功!!!" % (self.tableWidgetFlight.item(rowIndex, 1).text(), empNos["WX"]))
|
|
|
+ self.QThreadSortNow("main")
|
|
|
+
|
|
|
+ if empNos["faillist"] != []:
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "%s,%s%s派工信息推送失败%s/" % (acno, flightno,str(empNos["faillist"]).replace(",", "-").replace("'", "").replace("[", "").replace("]",""),datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
|
|
|
+ self.show_info("通知错误", "以下人员通知失败:%s,请确认考勤打卡情况!" % empNos["faillist"])
|
|
|
+ else:
|
|
|
+ self.show_info("警告", "该航班非AMRO航班或者无任务编号,请确认是否为AMRO航班,如确认请使用AMRO人工叮咚消息通知!!")
|
|
|
+ return
|
|
|
+
|
|
|
+ elif action == item5:
|
|
|
+ if str(self.tableWidgetFlight.item(rowIndex, colnum - 5).text()) != "" and "MAN" not in str(
|
|
|
+ self.tableWidgetFlight.item(rowIndex, colnum - 5).text())and str(self.tableWidgetFlight.item(rowIndex, colnum - 4).text()) != "":
|
|
|
+ empNos = self.severpostData_nomeassge("get_empNos", dict_people)
|
|
|
+ if empNos["code"] != "fail":
|
|
|
+ risktips=""
|
|
|
+ if self.tableWidgetFlight.item(rowIndex, 8).text() !="":
|
|
|
+ res=self.getRiskData(self.tableWidgetFlight.item(rowIndex, 8).text(),self.tableWidgetFlight.item(rowIndex, 9).text())
|
|
|
+ risktips=f"【风险提示】{res}" if res !="" else ""
|
|
|
+ msgInfo="放行人员保障推送!%s%s" % (fj,risktips)
|
|
|
+ res= self.send_dingdong(self.tableWidgetFlight.item(rowIndex, 1).text(),self.tableWidgetFlight.item(rowIndex, 2).text(),
|
|
|
+ self.tableWidgetFlight.item(rowIndex, colnum - 2).text(),
|
|
|
+ "进" +self.tableWidgetFlight.item(rowIndex, colnum - 3).text().split("</br>")[0] + ",出" +self.tableWidgetFlight.item(rowIndex, colnum - 3).text().split("</br>")[1],
|
|
|
+ self.tableWidgetFlight.item(rowIndex, 8).text(),self.tableWidgetFlight.item(rowIndex, colnum - 4).text(),
|
|
|
+ "", empNos["FXempNos"],empNos["WX"],empNos["FX"],"",msgInfo)
|
|
|
+
|
|
|
+ if res != "ok":
|
|
|
+ self.show_info("失败提示", "%s放行人员%s派工信息推送失败!" % (
|
|
|
+ self.tableWidgetFlight.item(rowIndex, 1).text(), empNos["FX"]))
|
|
|
+ else:
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "%s,%s%s派工信息推送成功%s/" % (acno, flightno, str(fx),datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
|
|
|
+ self.show_info("成功提示", "%s放行人员%s派工信息推成功!!!" % (
|
|
|
+ self.tableWidgetFlight.item(rowIndex, 1).text(), empNos["FX"]))
|
|
|
+ self.severpost_nomeassge("infoConfirm2","/%s" % self.tableWidgetFlight.item(rowIndex, 9).text(),
|
|
|
+ "/%s" % self.tableWidgetFlight.item(rowIndex,colnum - 5).text(),
|
|
|
+ "/%s" % self.displayMode, "/%s" % self.selectedtime)
|
|
|
+ self.QThreadSortNow("main")
|
|
|
+ if empNos["faillist"] != []:
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "%s,%s%s派工信息推送失败%s/" % (acno, flightno,str(empNos["faillist"]).replace(",", "-").replace("'", "").replace("[", "").replace("]",""),datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
|
|
|
+ self.show_info("通知错误", "以下人员通知失败:%s,请确认考勤打卡情况!" % empNos["faillist"])
|
|
|
+ else:
|
|
|
+ self.show_info("警告","该航班非AMRO航班或者无任务编号,请确认是否为AMRO航班,如确认请使用AMRO人工叮咚消息通知!!")
|
|
|
+ return
|
|
|
+
|
|
|
+ elif action == item6:
|
|
|
+ if str(self.tableWidgetFlight.item(rowIndex, colnum - 5).text()) != "" and "MAN" not in str(
|
|
|
+ self.tableWidgetFlight.item(rowIndex, colnum - 5).text())and str(self.tableWidgetFlight.item(rowIndex, colnum - 4).text()) != "":
|
|
|
+ empNos = self.severpostData_nomeassge("get_empNos", dict_people)
|
|
|
+ if empNos["code"] != "fail":
|
|
|
+ risktips = ""
|
|
|
+ if self.tableWidgetFlight.item(rowIndex, 8).text() != "":
|
|
|
+ res = self.getRiskData(self.tableWidgetFlight.item(rowIndex, 8).text(),self.tableWidgetFlight.item(rowIndex, 9).text())
|
|
|
+ risktips = f"【风险提示】{res}" if res != "" else ""
|
|
|
+ msgInfo = "二次送机任务推送!%s%s" % (fj, risktips)
|
|
|
+ res= self.send_dingdong(self.tableWidgetFlight.item(rowIndex, 1).text(),self.tableWidgetFlight.item(rowIndex, 2).text(),
|
|
|
+ self.tableWidgetFlight.item(rowIndex, colnum - 2).text(),
|
|
|
+ "进" +self.tableWidgetFlight.item(rowIndex, colnum - 3).text().split("</br>")[0] + ",出" +self.tableWidgetFlight.item(rowIndex, colnum - 3).text().split("</br>")[1],
|
|
|
+ self.tableWidgetFlight.item(rowIndex, 8).text(),self.tableWidgetFlight.item(rowIndex, colnum - 4).text(),
|
|
|
+ empNos["ESempNos"], "",empNos["WX"],empNos["FX"],empNos["ES"],msgInfo)
|
|
|
+
|
|
|
+ if res != "ok":
|
|
|
+ self.show_info("失败提示", "%s二次送机人员%s派工信息推送失败!" % (
|
|
|
+ self.tableWidgetFlight.item(rowIndex, 1).text(), empNos["ES"]))
|
|
|
+ else:
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "%s,%s%s派工信息推送成功%s/" % (acno, flightno, str(g1 + "-" + g2),datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
|
|
|
+ self.show_info("成功提示", "%s二次送机人员%s派工信息推送成功!!!" % (
|
|
|
+ self.tableWidgetFlight.item(rowIndex, 1).text(), empNos["ES"]))
|
|
|
+ self.severpost_nomeassge("infoConfirm2","/%s" % self.tableWidgetFlight.item(rowIndex, 9).text(),
|
|
|
+ "/%s" % self.tableWidgetFlight.item(rowIndex,colnum - 5).text(),
|
|
|
+ "/%s" % self.displayMode, "/%s" % self.selectedtime)
|
|
|
+ self.QThreadSortNow("main")
|
|
|
+ if empNos["faillist"] != []:
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "%s,%s%s派工信息推送失败%s/" % (acno, flightno,str(empNos["faillist"]).replace(",", "-").replace("'", "").replace("[", "").replace("]",""),datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
|
|
|
+ self.show_info("通知错误", "以下人员通知失败:%s,请确认考勤打卡情况!" % empNos["faillist"])
|
|
|
+ else:
|
|
|
+ self.show_info("警告","该航班非AMRO航班或者无任务编号,请确认是否为AMRO航班,如确认请使用AMRO人工叮咚消息通知!!")
|
|
|
+ return
|
|
|
+ elif action == item7:
|
|
|
+ self.severpost_nomeassge("infoConfirm", "/%s" % self.tableWidgetFlight.item(rowIndex, 9).text(),
|
|
|
+ "/%s" % self.tableWidgetFlight.item(rowIndex, colnum - 5).text(),
|
|
|
+ "/%s" % self.displayMode, "/%s" % self.selectedtime)
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "%s,%s点击确认通知%s/" % (acno, flightno,datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
|
|
|
+ self.QThreadSortNow("main")
|
|
|
+ return
|
|
|
+ elif action == item8:
|
|
|
+ self.severpost_nomeassge("manChangests",
|
|
|
+ "/%s" % self.tableWidgetFlight.item(rowIndex, colnum - 5).text(), "/接机到位",
|
|
|
+ "/%s" % self.selectedtime, "/%s" % self.user)
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "%s,%s人工点击接机到位%s/" % (acno, flightno,datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
|
|
|
+ self.QThreadSortNow("main")
|
|
|
+ self.QThreadSortNow("change")
|
|
|
+ self.QThreadSortNow("log")
|
|
|
+ return
|
|
|
+ elif action == item9:
|
|
|
+ self.severpost_nomeassge("manChangests","/%s" % self.tableWidgetFlight.item(rowIndex, colnum - 5).text(), "/放行","/%s" % self.selectedtime, "/%s" % self.user)
|
|
|
+ # print("人工确认放行")
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "%s,%s人工点击放行%s/" % (acno, flightno,datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
|
|
|
+ self.QThreadSortNow("main")
|
|
|
+ self.QThreadSortNow("change")
|
|
|
+ self.QThreadSortNow("log")
|
|
|
+ return
|
|
|
+ elif action == item10:
|
|
|
+ self.severpost_nomeassge("manChangests","/%s" % self.tableWidgetFlight.item(rowIndex, colnum - 5).text(), "/随机到位","/%s" % self.selectedtime, "/%s" % self.user)
|
|
|
+ # print("人工确认随机到位")
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "%s,%s人工点击随机到位%s/" % (acno, flightno,datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
|
|
|
+ self.QThreadSortNow("main")
|
|
|
+ self.QThreadSortNow("change")
|
|
|
+ self.QThreadSortNow("log")
|
|
|
+ return
|
|
|
+ elif action == item11:
|
|
|
+ self.severpost_nomeassge("manChangests",
|
|
|
+ "/%s" % self.tableWidgetFlight.item(rowIndex, colnum - 5).text(), "/二送到位",
|
|
|
+ "/%s" % self.selectedtime, "/%s" % self.user)
|
|
|
+ # print("人工确认二送到位")
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "%s,%s人工点击二送到位%s/" % (acno, flightno,datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
|
|
|
+ self.QThreadSortNow("main")
|
|
|
+ self.QThreadSortNow("change")
|
|
|
+ self.QThreadSortNow("log")
|
|
|
+ return
|
|
|
+ elif action == item12:
|
|
|
+ self.severpost_nomeassge("manChangests",
|
|
|
+ "/%s" % self.tableWidgetFlight.item(rowIndex, colnum - 5).text(), "/销子夹板",
|
|
|
+ "/%s" % self.selectedtime, "/%s" % self.user)
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "%s,%s人工点击销子夹板%s/" % (acno, flightno,datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
|
|
|
+ self.QThreadSortNow("main")
|
|
|
+ self.QThreadSortNow("change")
|
|
|
+ self.QThreadSortNow("log")
|
|
|
+ return
|
|
|
+ elif action == item13:
|
|
|
+ msg = {}
|
|
|
+ if str(self.tableWidgetFlight.item(rowIndex, colnum - 5).text()) != "" and "MAN" not in str(self.tableWidgetFlight.item(rowIndex, colnum - 5).text())and str(self.tableWidgetFlight.item(rowIndex, colnum - 4).text()) != "":
|
|
|
+ if self.tableWidgetFlight.item(rowIndex, 9).text() != "短停送" and self.tableWidgetFlight.item(rowIndex, 9).text() != "特后前送":
|
|
|
+ empNos = self.severpostData_nomeassge("get_empNos", dict_people)
|
|
|
+ # print(empNos)
|
|
|
+ try:
|
|
|
+ if empNos["code"] != "fail":
|
|
|
+ res=self.LM_TSK_SURE_PG_NOW(self.tableWidgetFlight.item(rowIndex, colnum - 4).text(),empNos["WXempNos"],"WX",empNos["date"],empNos["bc"])
|
|
|
+
|
|
|
+ if res == "ok":
|
|
|
+ msg["aa"] = "%s维修人员派工成功!"% str(qw1 + "-" + qw2 + "-" + g1 + "-" + g2)
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "%s,%s%s派工成功%s/" % (acno, flightno, str(qw1 + "-" + qw2 + "-" + g1 + "-" + g2),datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
|
|
|
+
|
|
|
+ if empNos["faillist"] != []:
|
|
|
+ msg["a"] = "以下维修人员派工失败:%s,请确认考勤打卡情况!" % empNos["faillist"]
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "%s,%s%s派工失败%s/" % (acno, flightno,str(empNos["faillist"]).replace(",", "-").replace("'", "").replace("[", "").replace("]", ""),datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
|
|
|
+ except:
|
|
|
+ pass
|
|
|
+ try:
|
|
|
+ if empNos["code"] != "fail":
|
|
|
+ res = self.LM_TSK_SURE_PG_NOW(self.tableWidgetFlight.item(rowIndex, colnum - 4).text(),empNos["FXempNos"], "FX", empNos["date"], empNos["bc"])
|
|
|
+ if res == "ok":
|
|
|
+ msg["bb"] = "放行人员%s派工成功!"%str(fx)
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "%s,%s%s派工成功%s/" % (acno, flightno, str(fx),datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
|
|
|
+ if empNos["faillist"] != []:
|
|
|
+ msg["b"] = "以下放行人员派工失败:%s,请确认考勤打卡情况!" % empNos["faillist"]
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "%s,%s%s派工失败%s/" % (acno, flightno,str(empNos["faillist"]).replace(",", "-").replace("'", "").replace("[", "").replace("]",""),datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
|
|
|
+ except:
|
|
|
+ pass
|
|
|
+ try:
|
|
|
+ if empNos["code"] != "fail":
|
|
|
+ risktips = ""
|
|
|
+ if self.tableWidgetFlight.item(rowIndex, 8).text() != "":
|
|
|
+ res = self.getRiskData(self.tableWidgetFlight.item(rowIndex, 8).text(),self.tableWidgetFlight.item(rowIndex, 9).text())
|
|
|
+ risktips = f"【风险提示】{res}" if res != "" else ""
|
|
|
+ msgInfo = "进港维修任务保障推送!%s%s" % (fj, risktips)
|
|
|
+ res= self.send_dingdong(self.tableWidgetFlight.item(rowIndex, 1).text(),self.tableWidgetFlight.item(rowIndex, 2).text(),
|
|
|
+ self.tableWidgetFlight.item(rowIndex, colnum - 2).text(),
|
|
|
+ "进" +self.tableWidgetFlight.item(rowIndex, colnum - 3).text().split("</br>")[0] + ",出" +self.tableWidgetFlight.item(rowIndex, colnum - 3).text().split("</br>")[1],
|
|
|
+ self.tableWidgetFlight.item(rowIndex, 8).text(),self.tableWidgetFlight.item(rowIndex, colnum - 4).text(),empNos["WXempNos"],"",empNos["WX"],empNos["FX"],"",msgInfo)
|
|
|
+
|
|
|
+ if res == "ok":
|
|
|
+ msg["cc"] = "%s维修人员%s派工信息推送成功!!!" % (self.tableWidgetFlight.item(rowIndex, 1).text(), empNos["WX"])
|
|
|
+ self.severpost_nomeassge("infoConfirm2","/%s" % self.tableWidgetFlight.item(rowIndex, 9).text(),"/%s" % self.tableWidgetFlight.item(rowIndex,colnum - 5).text(),"/%s" % self.displayMode, "/%s" % self.selectedtime)
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "%s,%s%s派工信息推送成功%s/" % (acno, flightno, str(qw1 + "-" + qw2 + "-" + g1 + "-" + g2),datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
|
|
|
+ if empNos["faillist"] != []:
|
|
|
+ msg["c"] = "以下人员通知失败:%s,请确认考勤打卡情况!" % empNos["faillist"]
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "%s,%s%s派工信息推送失败%s/" % (acno, flightno,str(empNos["faillist"]).replace(",", "-").replace("'", "").replace("[", "").replace("]",""),datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
|
|
|
+ except:
|
|
|
+ #pass
|
|
|
+ print(traceback.format_exc())
|
|
|
+ try:
|
|
|
+ if empNos["code"] != "fail":
|
|
|
+ risktips = ""
|
|
|
+ if self.tableWidgetFlight.item(rowIndex, 8).text() != "":
|
|
|
+ res = self.getRiskData(self.tableWidgetFlight.item(rowIndex, 8).text(),self.tableWidgetFlight.item(rowIndex, 9).text())
|
|
|
+ risktips = f"【风险提示】{res}" if res != "" else ""
|
|
|
+ msgInfo = "放行任务保障信息!%s%s" % (fj, risktips)
|
|
|
+ res= self.send_dingdong(self.tableWidgetFlight.item(rowIndex, 1).text(),self.tableWidgetFlight.item(rowIndex, 2).text(),
|
|
|
+ self.tableWidgetFlight.item(rowIndex, colnum - 2).text(),
|
|
|
+ "进" +self.tableWidgetFlight.item(rowIndex, colnum - 3).text().split("</br>")[0] + ",出" +self.tableWidgetFlight.item(rowIndex, colnum - 3).text().split("</br>")[1],
|
|
|
+ self.tableWidgetFlight.item(rowIndex, 8).text(),self.tableWidgetFlight.item(rowIndex, colnum - 4).text(),
|
|
|
+ "", empNos["FXempNos"],empNos["WX"],empNos["FX"],"",msgInfo)
|
|
|
+
|
|
|
+ if res == "ok":
|
|
|
+ msg["dd"] = "%s放行人员%s派工信息推成功!!!" % (
|
|
|
+ self.tableWidgetFlight.item(rowIndex, 1).text(), empNos["FX"])
|
|
|
+ self.severpost_nomeassge("infoConfirm2","/%s" % self.tableWidgetFlight.item(rowIndex, 9).text(),"/%s" % self.tableWidgetFlight.item(rowIndex,colnum - 5).text(),"/%s" % self.displayMode, "/%s" % self.selectedtime)
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "%s,%s%s派工信息推送成功%s/" % (acno, flightno, str(fx),datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
|
|
|
+ if empNos["faillist"] != []:
|
|
|
+ msg["d"] = "以下人员通知失败:%s,请确认考勤打卡情况!" % empNos["faillist"]
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "%s,%s%s派工信息推送失败%s/" % (acno, flightno,str(empNos["faillist"]).replace(",", "-").replace("'", "").replace("[", "").replace("]",""),datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
|
|
|
+ except:
|
|
|
+ pass
|
|
|
+
|
|
|
+ else:
|
|
|
+ empNos = self.severpostData_nomeassge("get_empNos", dict_people)
|
|
|
+ if "【交班航班】" in fj:
|
|
|
+ try:
|
|
|
+ if empNos["code"] != "fail":
|
|
|
+ res = self.LM_TSK_SURE_PG_NOW(self.tableWidgetFlight.item(rowIndex, colnum - 4).text(),empNos["FXempNos"], "FX", empNos["date"], empNos["bc"])
|
|
|
+ if res == "ok":
|
|
|
+ msg["bb"] = "放行人员%s派工成功!"%str(fx)
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "%s,%s%s派工成功%s/" % (acno, flightno, str(fx),datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
|
|
|
+ if empNos["faillist"] != []:
|
|
|
+ msg["b"] = "以下放行人员派工失败:%s,请确认考勤打卡情况!" % empNos["faillist"]
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "%s,%s%s派工失败%s/" % (acno, flightno,str(empNos["faillist"]).replace(",", "-").replace("'", "").replace("[", "").replace("]",""),datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
|
|
|
+ except:
|
|
|
+ pass
|
|
|
+
|
|
|
+ try:
|
|
|
+ if empNos["code"] != "fail":
|
|
|
+ risktips = ""
|
|
|
+ if self.tableWidgetFlight.item(rowIndex, 8).text() != "":
|
|
|
+ res = self.getRiskData(self.tableWidgetFlight.item(rowIndex, 8).text(),self.tableWidgetFlight.item(rowIndex, 9).text())
|
|
|
+ risktips = f"【风险提示】{res}" if res != "" else ""
|
|
|
+ msgInfo = "放行任务保障信息!%s%s" % (fj, risktips)
|
|
|
+ res= self.send_dingdong(self.tableWidgetFlight.item(rowIndex, 1).text(),self.tableWidgetFlight.item(rowIndex, 2).text(),
|
|
|
+ self.tableWidgetFlight.item(rowIndex, colnum - 2).text(),
|
|
|
+ "进" +self.tableWidgetFlight.item(rowIndex, colnum - 3).text().split("</br>")[0] + ",出" +self.tableWidgetFlight.item(rowIndex, colnum - 3).text().split("</br>")[1],
|
|
|
+ self.tableWidgetFlight.item(rowIndex, 8).text(),self.tableWidgetFlight.item(rowIndex, colnum - 4).text(),
|
|
|
+ "", empNos["FXempNos"],empNos["WX"],empNos["FX"],"",msgInfo)
|
|
|
+
|
|
|
+ if res == "ok":
|
|
|
+ msg["dd"] = "%s放行人员%s派工信息推成功!!!" % (
|
|
|
+ self.tableWidgetFlight.item(rowIndex, 1).text(), empNos["FX"])
|
|
|
+ self.severpost_nomeassge("infoConfirm2","/%s" % self.tableWidgetFlight.item(rowIndex, 9).text(),"/%s" % self.tableWidgetFlight.item(rowIndex,colnum - 5).text(),"/%s" % self.displayMode, "/%s" % self.selectedtime)
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "%s,%s%s派工信息推送成功%s/" % (acno, flightno, str(fx),datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
|
|
|
+ if empNos["faillist"] != []:
|
|
|
+ msg["d"] = "以下人员通知失败:%s,请确认考勤打卡情况!" % empNos["faillist"]
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "%s,%s%s派工信息推送失败%s/" % (acno, flightno,str(empNos["faillist"]).replace(",", "-").replace("'", "").replace("[", "").replace("]",""),datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
|
|
|
+ except:
|
|
|
+ pass
|
|
|
+
|
|
|
+ # print(empNos)
|
|
|
+ if empNos["code"] != "fail":
|
|
|
+ res = self.LM_TSK_SURE_PG_NOW(self.tableWidgetFlight.item(rowIndex, colnum - 4).text(),empNos["ESempNos"], "ECSJ", empNos["date"], empNos["bc"])
|
|
|
+ if res == "ok":
|
|
|
+ msg["ee"] = "%s二次送机派工成功!"%str(g1 + "-" + g2)
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "%s,%s%s派工成功%s/" % (acno, flightno, str(g1 + "-" + g2),datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
|
|
|
+ if empNos["faillist"] != []:
|
|
|
+ msg["e"] = "以下人员派工失败:%s,请确认考勤打卡情况!" % empNos["faillist"]
|
|
|
+ if empNos["code"] != "fail":
|
|
|
+ risktips = ""
|
|
|
+ if self.tableWidgetFlight.item(rowIndex, 8).text() != "":
|
|
|
+ res = self.getRiskData(self.tableWidgetFlight.item(rowIndex, 8).text(),self.tableWidgetFlight.item(rowIndex, 9).text())
|
|
|
+ risktips = f"【风险提示】{res}" if res != "" else ""
|
|
|
+ msgInfo = "二次送机任务推送!%s%s" % (fj, risktips)
|
|
|
+ res= self.send_dingdong(self.tableWidgetFlight.item(rowIndex, 1).text(),self.tableWidgetFlight.item(rowIndex, 2).text(),
|
|
|
+ self.tableWidgetFlight.item(rowIndex, colnum - 2).text(),
|
|
|
+ "进" +self.tableWidgetFlight.item(rowIndex, colnum - 3).text().split("</br>")[0] + ",出" +self.tableWidgetFlight.item(rowIndex, colnum - 3).text().split("</br>")[1],
|
|
|
+ self.tableWidgetFlight.item(rowIndex, 8).text(),self.tableWidgetFlight.item(rowIndex, colnum - 4).text(),
|
|
|
+ empNos["ESempNos"], "",empNos["WX"],empNos["FX"],empNos["ES"],msgInfo)
|
|
|
+ if res == "ok":
|
|
|
+ msg["ff"] = "%s二次送机人员%s派工信息推送成功!!!" % (
|
|
|
+ self.tableWidgetFlight.item(rowIndex, 1).text(), empNos["ES"])
|
|
|
+ self.severpost_nomeassge("infoConfirm2","/%s" % self.tableWidgetFlight.item(rowIndex, 9).text(),
|
|
|
+ "/%s" % self.tableWidgetFlight.item(rowIndex,colnum - 5).text(),
|
|
|
+ "/%s" % self.displayMode, "/%s" % self.selectedtime)
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "%s,%s%s派工信息推送成功%s/" % (acno, flightno, str(g1 + "-" + g2),datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
|
|
|
+ if empNos["faillist"] != []:
|
|
|
+ msg["f"] = "以下人员通知失败:%s,请确认考勤打卡情况!" % empNos["faillist"]
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/insertLogs2/" + "%s,%s%s派工信息推送失败%s/" % (acno, flightno,str(empNos["faillist"]).replace(",", "-").replace("'", "").replace("[", "").replace("]",""),datetime.datetime.now()) + "%s/" % str(self.user) + "%s" % str(datetime.datetime.now())
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
|
|
|
+ msgs = ""
|
|
|
+ for j in ["aa", "bb", "cc", "dd", "ee", "ff", "a", "b", "c", "d", "e", "f"]:
|
|
|
+ if j in msg.keys():
|
|
|
+ if msgs == "":
|
|
|
+ msgs = msg[j]
|
|
|
+ else:
|
|
|
+ msgs = msgs + "\n" + msg[j]
|
|
|
+ self.show_info("一键派工提示信息", msgs)
|
|
|
+ self.QThreadSortNow("main")
|
|
|
+
|
|
|
+ else:
|
|
|
+ self.show_info("警告", "该航班非AMRO航班或者无任务编号,请确认是否为AMRO航班,如确认请使用AMRO人工派工和叮咚消息通知!!")
|
|
|
+ return
|
|
|
+ else:
|
|
|
+ return
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ elif self.displayMode=="B":
|
|
|
+ for i in self.tableWidgetFlight.selectionModel().selection().indexes():
|
|
|
+ menu = QMenu()
|
|
|
+ item1 = menu.addAction("工作单确认检查")
|
|
|
+ screenPos = self.tableWidgetFlight.mapToGlobal(pos)
|
|
|
+ action = menu.exec(screenPos)
|
|
|
+ rowIndex = i.row()
|
|
|
+ colnum = self.tableWidgetFlight.columnCount()
|
|
|
+ flightids=self.tableWidgetFlight.item(rowIndex, colnum - 5).text()
|
|
|
+ flighttype = self.tableWidgetFlight.item(rowIndex, 9).text()
|
|
|
+ if action == item1:
|
|
|
+ nowstr=self.user+str(datetime.datetime.now().timestamp()).split(".")[0]
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/updateDragDropItem/%s/%s/%s/%s/%s/%s" % (
|
|
|
+ "10", nowstr, flightids, self.displayMode, flighttype, self.selectedtime)
|
|
|
+ # print(ip)
|
|
|
+ #self.tableWidgetFlight.setItem(int(rowIndex), column, QTableWidgetItem(str(nowstr)))
|
|
|
+ try:
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ self.QThreadSortNow("main")
|
|
|
+ return
|
|
|
+ else:
|
|
|
+ QMessageBox.warning(self, "提示", "权限不够,请联系管理员!")
|
|
|
+
|
|
|
+ def tableWidgetPhoneDispaly(self):
|
|
|
+ try:
|
|
|
+ phoneLabel = ["序号", "姓名", "部门", "电话","name"]
|
|
|
+ col = len(phoneLabel)
|
|
|
+ diplaylist = self.sorttableWidgetPHONEDispalydata
|
|
|
+ self.tableWidget_3.setRowCount(len(diplaylist.keys()))
|
|
|
+ for row in diplaylist.keys():
|
|
|
+ for colNum in range(0, col):
|
|
|
+ if colNum == 0:
|
|
|
+ self.tableWidget_3.setItem(int(row), colNum, QTableWidgetItem(str(int(row)+1)))
|
|
|
+ self.tableWidget_3.item(int(row), colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ else:
|
|
|
+ self.tableWidget_3.setItem(int(row), colNum,
|
|
|
+ QTableWidgetItem(diplaylist[row][phoneLabel[colNum]]))
|
|
|
+ self.tableWidget_3.item(int(row), colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ self.tableWidget_3.resizeColumnsToContents()
|
|
|
+ self.tableWidget_3.setColumnHidden(4, True)
|
|
|
+
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def tableWidgetPeopleDisplay(self):
|
|
|
+ try:
|
|
|
+ peopleLabel = ["序号", "姓名", "角色", "总量", "当前", "最后时间"]
|
|
|
+ col = len(peopleLabel)
|
|
|
+ diplaylist = self.sortdiplaylist
|
|
|
+ self.tableWidgetPerson.setRowCount(len(diplaylist.keys()))
|
|
|
+ # print( self.searchpeoplestr )
|
|
|
+ for row in diplaylist.keys():
|
|
|
+ for colNum in range(0, col):
|
|
|
+ if colNum == 0:
|
|
|
+ self.tableWidgetPerson.setItem(int(row), colNum, QTableWidgetItem(str(int(row)+1)))
|
|
|
+ self.tableWidgetPerson.item(int(row), colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ else:
|
|
|
+ self.tableWidgetPerson.setItem(int(row), colNum,
|
|
|
+ QTableWidgetItem(diplaylist[row][peopleLabel[colNum]]))
|
|
|
+ self.tableWidgetPerson.item(int(row), colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+
|
|
|
+ self.tableWidgetPerson.resizeColumnsToContents()
|
|
|
+ # self.tableWidgetPerson.itemEntered.connect(self.enter_item_slot)
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def enter_item_slot(self, item):
|
|
|
+ try:
|
|
|
+ self.tool_tip = item.text()
|
|
|
+ # print("self.tool_tip:", self.tool_tip)
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def tableWidgetDispaly(self):
|
|
|
+ try:
|
|
|
+ selftaxi = ["166", "166L", "166R", "167", "167L", "167R", "168", "169", "170", "171", "172", "173", "174",
|
|
|
+ "269", "270", "271", "272", "273", "274", "275", "287", "288", "601", "602", "603", "604",
|
|
|
+ "605", "606", "607", "607L", "607R"] # 自滑位
|
|
|
+ if self.sorttableWidgetDispalydata != "":
|
|
|
+ # print("刷新开始")
|
|
|
+ # dateNow=datetime.datetime.now()
|
|
|
+ tableWidgetDispalydata = self.sorttableWidgetDispalydata
|
|
|
+ col = len(self.displayLabel)
|
|
|
+ self.tableWidgetFlight.setRowCount(len(tableWidgetDispalydata.keys()))
|
|
|
+ for row in tableWidgetDispalydata.keys():
|
|
|
+ for colNum in range(0, col):
|
|
|
+ if colNum == 6:
|
|
|
+ self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(
|
|
|
+ str(tableWidgetDispalydata[row][str(colNum)])))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setBackground(
|
|
|
+ QColor(str(tableWidgetDispalydata[row]["99"])))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setForeground(
|
|
|
+ QColor(str(tableWidgetDispalydata[row]["102"])))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ elif colNum == 7:
|
|
|
+ self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(
|
|
|
+ str(tableWidgetDispalydata[row][str(colNum)])))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setBackground(
|
|
|
+ QColor(str(tableWidgetDispalydata[row]["99"])))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setForeground(
|
|
|
+ QColor(str(tableWidgetDispalydata[row]["103"])))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ elif colNum == 8:
|
|
|
+ if tableWidgetDispalydata[row][str(colNum)] in selftaxi and tableWidgetDispalydata[row][str(colNum)] != "":
|
|
|
+ self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(
|
|
|
+ str(tableWidgetDispalydata[row][str(colNum)])))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setBackground(QColor("lightgreen"))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setForeground(QColor("black"))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setTextAlignment(
|
|
|
+ Qt.AlignmentFlag.AlignCenter)
|
|
|
+ if "自滑机位" not in tableWidgetDispalydata[row][str(col - 1)]:
|
|
|
+ flightid = tableWidgetDispalydata[row][str(col - 5)]
|
|
|
+ # print(flightid)
|
|
|
+ flighttype = tableWidgetDispalydata[row]["9"]
|
|
|
+ fjxx = "自滑机位;" + str(tableWidgetDispalydata[row][str(col - 1)])
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/updateEidteItem/" + "%s/" % str(
|
|
|
+ fjxx) + "%s/" % str(flightid) + "%s/" % str(self.displayMode) + "%s/" % str(
|
|
|
+ flighttype) + "%s" % str(self.selectedtime)
|
|
|
+ try:
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ if self.displayMode =="A":
|
|
|
+ for colNum2 in (10, 11, 12, 13, 14):
|
|
|
+ if tableWidgetDispalydata[row][str(colNum2)] != "" and "*" not in str(tableWidgetDispalydata[row][str(colNum2)]):
|
|
|
+ self.severpost_nomeassge("selftaxiLogs", "/%s请通知%s,%s为自滑位,注意特殊机位保障要求!" % (
|
|
|
+ tableWidgetDispalydata[row]["1"], tableWidgetDispalydata[row][str(colNum2)],
|
|
|
+ tableWidgetDispalydata[row]["8"]),"/%s" % tableWidgetDispalydata[row][str(col - 5)], "","")
|
|
|
+ self.severpost_nomeassge("infoConfirm3","/%s" % tableWidgetDispalydata[row][str(9)],"/%s" % tableWidgetDispalydata[row][str(col - 5)],
|
|
|
+ "/%s" % self.displayMode, "/%s" % self.selectedtime)
|
|
|
+
|
|
|
+ elif tableWidgetDispalydata[row][str(colNum)] not in selftaxi or \
|
|
|
+ tableWidgetDispalydata[row][str(colNum)] == "":
|
|
|
+ self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(
|
|
|
+ str(tableWidgetDispalydata[row][str(colNum)])))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setBackground(
|
|
|
+ QColor(str(tableWidgetDispalydata[row]["99"])))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setForeground(
|
|
|
+ QColor(str(tableWidgetDispalydata[row]["101"])))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setTextAlignment(
|
|
|
+ Qt.AlignmentFlag.AlignCenter)
|
|
|
+ font = QFont()
|
|
|
+ # font.setFamily("SimHei")
|
|
|
+ font.setFamily("Microsoft YaHei")
|
|
|
+ font.setBold(True)
|
|
|
+
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setFont(font)
|
|
|
+ elif colNum == 9:
|
|
|
+ if tableWidgetDispalydata[row][str(colNum)] == "短停送" or tableWidgetDispalydata[row][str(colNum)] == "特后前送":
|
|
|
+ self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(
|
|
|
+ str(tableWidgetDispalydata[row][str(colNum)])))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setBackground(
|
|
|
+ QColor(str(tableWidgetDispalydata[row]["99"])))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setForeground(QColor(str("blue")))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setTextAlignment(
|
|
|
+ Qt.AlignmentFlag.AlignCenter)
|
|
|
+ font = QFont()
|
|
|
+ # font.setFamily("SimHei")
|
|
|
+ font.setFamily("Microsoft YaHei")
|
|
|
+ font.setBold(True)
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setFont(font)
|
|
|
+
|
|
|
+ else:
|
|
|
+ self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(
|
|
|
+ str(tableWidgetDispalydata[row][str(colNum)])))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setBackground(
|
|
|
+ QColor(str(tableWidgetDispalydata[row]["99"])))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setForeground(
|
|
|
+ QColor(str(tableWidgetDispalydata[row]["101"])))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setTextAlignment(
|
|
|
+ Qt.AlignmentFlag.AlignCenter)
|
|
|
+
|
|
|
+ elif 9 < colNum < 15:
|
|
|
+ if "√" in tableWidgetDispalydata[row][str(colNum)] or tableWidgetDispalydata[row][str(colNum)] == "":
|
|
|
+ self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(
|
|
|
+ str(tableWidgetDispalydata[row][str(colNum)]).replace("*","")))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setBackground(
|
|
|
+ QColor(str(tableWidgetDispalydata[row]["99"])))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setForeground(
|
|
|
+ QColor(str(tableWidgetDispalydata[row]["101"])))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setTextAlignment(
|
|
|
+ Qt.AlignmentFlag.AlignCenter)
|
|
|
+ elif "√" not in tableWidgetDispalydata[row][str(colNum)] and tableWidgetDispalydata[row][
|
|
|
+ str(colNum)] != "":
|
|
|
+ self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(
|
|
|
+ str(tableWidgetDispalydata[row][str(colNum)]).replace("*","")))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setBackground(QColor("yellow"))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setForeground(QColor("black"))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setTextAlignment(
|
|
|
+ Qt.AlignmentFlag.AlignCenter)
|
|
|
+ elif colNum == col - 1:
|
|
|
+ if str(tableWidgetDispalydata[row][str(colNum)]) !="" and str(tableWidgetDispalydata[row][str(colNum)]) != None:
|
|
|
+ self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(colNum)])))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setBackground(QColor("yellow"))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setForeground(QColor("red"))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ self.tableWidgetFlight.item(int(row), col - 1).setToolTip("%s" % str(tableWidgetDispalydata[row][str(col - 1)]))
|
|
|
+ font = QFont()
|
|
|
+ # font.setFamily("SimHei")
|
|
|
+ font.setFamily("Microsoft YaHei")
|
|
|
+ font.setBold(True)
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setFont(font)
|
|
|
+ else:
|
|
|
+ self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(colNum)])))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setBackground(QColor(str(tableWidgetDispalydata[row]["99"])))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setForeground(QColor(str(tableWidgetDispalydata[row]["101"])))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ self.tableWidgetFlight.item(int(row), col - 1).setToolTip("%s" % str(tableWidgetDispalydata[row][str(col - 1)]))
|
|
|
+ font = QFont()
|
|
|
+ # font.setFamily("SimHei")
|
|
|
+ font.setFamily("Microsoft YaHei")
|
|
|
+ font.setBold(True)
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setFont(font)
|
|
|
+
|
|
|
+ if "二拖" in tableWidgetDispalydata[row][str(colNum)]:
|
|
|
+ for selftaxiPostion in selftaxi:
|
|
|
+ if selftaxiPostion in tableWidgetDispalydata[row][str(colNum)]:
|
|
|
+ for colNum2 in (10, 11, 12, 13, 14):
|
|
|
+ if tableWidgetDispalydata[row][str(colNum2)] != "":
|
|
|
+ self.severpost_nomeassge("selftaxiLogs",
|
|
|
+ "/%s请通知%s,%s二拖机位目的机位为自滑位,注意特殊机位保障要求!" % (
|
|
|
+ tableWidgetDispalydata[row]["1"],
|
|
|
+ tableWidgetDispalydata[row][str(colNum2)],
|
|
|
+ tableWidgetDispalydata[row]["8"]),
|
|
|
+ "/%s" % tableWidgetDispalydata[row][
|
|
|
+ str(col - 5)], "", "")
|
|
|
+ elif colNum == 22:
|
|
|
+ self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(
|
|
|
+ str(tableWidgetDispalydata[row][str(colNum)])))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setBackground(
|
|
|
+ QColor(str(tableWidgetDispalydata[row]["99"])))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setForeground(
|
|
|
+ QColor(str(tableWidgetDispalydata[row]["101"])))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ self.tableWidgetFlight.item(int(row), 22).setToolTip(
|
|
|
+ "%s" % str(tableWidgetDispalydata[row][str(22)]))
|
|
|
+ elif 0 < colNum < 5:
|
|
|
+ self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(
|
|
|
+ str(tableWidgetDispalydata[row][str(colNum)])))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setBackground(
|
|
|
+ QColor(str(tableWidgetDispalydata[row]["99"])))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setForeground(
|
|
|
+ QColor(str(tableWidgetDispalydata[row]["101"])))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ if self.displayMode == "A":
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setToolTip(
|
|
|
+ "%s" % str(tableWidgetDispalydata[row][str(23)]))
|
|
|
+ else:
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setToolTip(
|
|
|
+ "%s" % str(tableWidgetDispalydata[row][str(24)]))
|
|
|
+ if colNum == 1 and tableWidgetDispalydata[row][str(colNum)] in ["8182","8185","8186"] and tableWidgetDispalydata[row][str(9)] =="航前":
|
|
|
+
|
|
|
+ if "【工具提示】无TPIS,带胎压表" not in tableWidgetDispalydata[row][str(col - 1)]:
|
|
|
+ flightid = tableWidgetDispalydata[row][str(col - 5)]
|
|
|
+ # print(flightid)
|
|
|
+ flighttype = tableWidgetDispalydata[row]["9"]
|
|
|
+ fjxx = "【工具提示】无TPIS,带胎压表;" + str(tableWidgetDispalydata[row][str(col - 1)])
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/updateEidteItem/" + "%s/" % str(
|
|
|
+ fjxx) + "%s/" % str(flightid) + "%s/" % str(self.displayMode) + "%s/" % str(
|
|
|
+ flighttype) + "%s" % str(self.selectedtime)
|
|
|
+ try:
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+
|
|
|
+ elif colNum == 0:
|
|
|
+ self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(str(int(row)+1)))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setBackground(QColor(str(tableWidgetDispalydata[row]["99"])))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setForeground(QColor(str(tableWidgetDispalydata[row]["101"])))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ if self.displayMode == "A":
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setToolTip(
|
|
|
+ "[%s,%s]" % (str(tableWidgetDispalydata[row][str(col-5)]),str(tableWidgetDispalydata[row][str(col-4)])))
|
|
|
+ else:
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setToolTip(
|
|
|
+ "[%s,%s]" % (str(tableWidgetDispalydata[row][str(col-5)]),str(tableWidgetDispalydata[row][str(col-4)])))
|
|
|
+ else:
|
|
|
+ self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(
|
|
|
+ str(tableWidgetDispalydata[row][str(colNum)])))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setBackground(
|
|
|
+ QColor(str(tableWidgetDispalydata[row]["99"])))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setForeground(
|
|
|
+ QColor(str(tableWidgetDispalydata[row]["101"])))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ self.tableWidgetFlight.setColumnHidden(col - 2, True)
|
|
|
+ self.tableWidgetFlight.setColumnHidden(col - 3, True)
|
|
|
+ self.tableWidgetFlight.setColumnHidden(col - 4, True)
|
|
|
+ self.tableWidgetFlight.setColumnHidden(col - 5, True)
|
|
|
+ self.tableWidgetFlight.setColumnHidden(col - 6, False)
|
|
|
+ self.tableWidgetFlight.setColumnHidden(col - 7, False)
|
|
|
+ self.tableWidgetFlight.setColumnHidden(col - 1, False)
|
|
|
+ if self.displayMode == "A":
|
|
|
+ self.tableWidgetFlight.setColumnHidden(col - 8, True)
|
|
|
+ self.tableWidgetFlight.setColumnHidden(col - 9, False)
|
|
|
+ self.tableWidgetFlight.setColumnHidden(col - 10, True)
|
|
|
+ self.tableWidgetFlight.setColumnHidden(col - 11, False)
|
|
|
+ self.tableWidgetFlight.setColumnHidden(col - 12, True)
|
|
|
+ else:
|
|
|
+ self.tableWidgetFlight.setColumnHidden(col - 8, False)
|
|
|
+ self.tableWidgetFlight.setColumnHidden(col - 9, True)
|
|
|
+ self.tableWidgetFlight.setColumnHidden(col - 10, False)
|
|
|
+ self.tableWidgetFlight.setColumnHidden(col - 11, True)
|
|
|
+ self.tableWidgetFlight.setColumnHidden(col - 12, True)
|
|
|
+ self.tableWidgetFlight.resizeColumnsToContents()
|
|
|
+ self.tableWidgetFlight.setColumnWidth(10, 70)
|
|
|
+ self.tableWidgetFlight.setColumnWidth(11, 70)
|
|
|
+ self.tableWidgetFlight.setColumnWidth(12, 70)
|
|
|
+ self.tableWidgetFlight.setColumnWidth(13, 70)
|
|
|
+ self.tableWidgetFlight.setColumnWidth(14, 70)
|
|
|
+ self.tableWidgetFlight.setColumnWidth(15, 70)
|
|
|
+ self.tableWidgetFlight.setColumnWidth(22, 45)
|
|
|
+ # print("刷新结束")
|
|
|
+ # print(datetime.datetime.now() - dateNow)
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def on_completer_activated(self, text):
|
|
|
+ try:
|
|
|
+ if text:
|
|
|
+ index = self.comboBox.findText(text)
|
|
|
+ self.comboBox.setCurrentIndex(index)
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def LM_TSK_SURE_PG(self):
|
|
|
+ try:
|
|
|
+ data = {
|
|
|
+ "empNos": dict["empNos"], # 员工号
|
|
|
+ "taskid": dict["taskid"], # taskid
|
|
|
+ "type": dict["type"], # 类型
|
|
|
+ "shiftDate": dict["shiftDate"], # 上班日期
|
|
|
+ "shift": dict["shift"], # 班次
|
|
|
+ }
|
|
|
+ self.severpostData_nomeassge("LM_TSK_SURE_PG", data)
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def dingdong(self):
|
|
|
+ try:
|
|
|
+ data = {
|
|
|
+ "acno": dict["empNos"], # 机号
|
|
|
+ "actype": dict["taskid"], # 机型
|
|
|
+ "tasktype": dict["type"], # 任务类型
|
|
|
+ "tatd": dict["shiftDate"], # 起飞/落地时间
|
|
|
+ "msgInfo": dict["shift"], # 消息
|
|
|
+ "bay": dict["empNos"], # 机位
|
|
|
+ "wxemp": dict["taskid"], # 维修人员员工号
|
|
|
+ "fxemp": dict["type"], # 放行人员员工号
|
|
|
+ "wx": dict["shiftDate"], # 维修人员
|
|
|
+ "fx": dict["shift"], # 放行人员
|
|
|
+ "ecsj": dict["shift"], # 二次送机人员
|
|
|
+
|
|
|
+ }
|
|
|
+ self.severpostData_nomeassge("dingdong", data)
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def update_pglistA(self, text):
|
|
|
+ try:
|
|
|
+ self.severpost_nomeassge("getPglist", "A", "", "", "")
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def update_pglistB(self, text):
|
|
|
+ try:
|
|
|
+ self.severpost_nomeassge("getPglist", "B", "", "", "")
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def search(self):
|
|
|
+ # print('进行查询')
|
|
|
+ try:
|
|
|
+ self.threadWOrk_get_flight_list()
|
|
|
+ if self.cookie != None:
|
|
|
+ # print('查询中')
|
|
|
+ self.threadWOrk_get_flight_list()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def threadWork_getcookie(self):
|
|
|
+ try:
|
|
|
+ self.fl = utils.flight_list()
|
|
|
+ worker = Worker2(self.fn_cookie, self.fl)
|
|
|
+ worker.signals.result.connect(self.print_output_cookie)
|
|
|
+ worker.signals.finished.connect(self.thread_complete)
|
|
|
+ worker.signals.error.connect(self.thread_error)
|
|
|
+ self.threadpool.start(worker)
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def threadWOrk_get_flight_list(self):
|
|
|
+ try:
|
|
|
+ dateNow = datetime.datetime.now()
|
|
|
+ dateNowStr = dateNow.strftime("%Y-%m-%d")
|
|
|
+ worker = Worker2(self.fn_get_flight_list, self.fl, dateNowStr, self.cookie)
|
|
|
+ worker.signals.result.connect(self.print_output_flight_list)
|
|
|
+ worker.signals.finished.connect(self.thread_complete)
|
|
|
+ worker.signals.error.connect(self.thread_error)
|
|
|
+ self.threadpool.start(worker)
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def fn_get_flight_list(self, fl, date, cookie):
|
|
|
+ try:
|
|
|
+ # print(fl.token)
|
|
|
+ # flight_list = fl.request_filght_list(date, cookie)
|
|
|
+ flight_list = utils.loadjson('./temp/1/fl1688398151.json')
|
|
|
+ return flight_list
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def fn_cookie(self, fl):
|
|
|
+ try:
|
|
|
+ # 耗时进程
|
|
|
+ # print(fl)
|
|
|
+ fl.start()
|
|
|
+ cookie = fl.get_cookie()
|
|
|
+ return cookie
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def print_output_cookie(self, dlist):
|
|
|
+ try:
|
|
|
+ self.cookie = dlist
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def print_output_flight_list(self, dlist):
|
|
|
+ try:
|
|
|
+ # print(dlist['code'])
|
|
|
+ self.tableDisplay2()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def thread_complete(self):
|
|
|
+ print("THREAD COMPLETE!")
|
|
|
+
|
|
|
+ def thread_error(self, error):
|
|
|
+ print("进程error:{}".format(error))
|
|
|
+
|
|
|
+
|
|
|
+class LoginWidget(Ui_login, QWidget):
|
|
|
+ login_signal = QtCore.pyqtSignal(bool)
|
|
|
+ login_user = QtCore.pyqtSignal(list)
|
|
|
+
|
|
|
+ def __init__(self, parent=None):
|
|
|
+ super().__init__(parent)
|
|
|
+ try:
|
|
|
+ self.setupUi(self)
|
|
|
+ # print('login widget')
|
|
|
+ self.pushButton.clicked.connect(self.btn)
|
|
|
+ # self.setipinfo()
|
|
|
+ self.ipinfo = None
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def severpost_meassge(self, postname, postdata, postdata2):
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/" + str(postname) + str(postdata) + str(postdata2)
|
|
|
+ try:
|
|
|
+ res = requests.get(url=ip, timeout=30).json()
|
|
|
+ # print(res)
|
|
|
+
|
|
|
+ except Exception:
|
|
|
+ # print('登录服务器失败')
|
|
|
+ logging.info('登录服务器失败')
|
|
|
+ res = ""
|
|
|
+ QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ return res
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def btn(self):
|
|
|
+ try:
|
|
|
+ username = self.lineEditUser.text()
|
|
|
+ password = self.lineEditPassword.text()
|
|
|
+ try:
|
|
|
+ res = self.severpost_meassge("loginTable", "/%s" % username, "/%s" % password)["返回值"]
|
|
|
+ # print(res)
|
|
|
+ except Exception:
|
|
|
+ res = ""
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ # print(res)
|
|
|
+ if res != "" and int(res[3])<=3:
|
|
|
+ self.login_signal.emit(True)
|
|
|
+ self.login_user.emit(res)
|
|
|
+ else:
|
|
|
+ self.show_message()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def show_message(self):
|
|
|
+ try:
|
|
|
+ QMessageBox.warning(self, "警告", "无此用户或密码错误或账号无权限访问办公平台")
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+
|
|
|
+class amroLoginWidget(Ui_amroLogin, QWidget):
|
|
|
+ def __init__(self, parent=None):
|
|
|
+ super().__init__(parent)
|
|
|
+ try:
|
|
|
+ self.setupUi(self)
|
|
|
+ self.pushButton.clicked.connect(self.btn)
|
|
|
+ self.ipinfo = None
|
|
|
+
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def btn(self):
|
|
|
+ try:
|
|
|
+ username = self.lineEditUsername.text()
|
|
|
+ password = self.lineEditPassword.text()
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/remotelogin/%s/%s" % (username, password)
|
|
|
+ try:
|
|
|
+ res = requests.get(url=ip, timeout=60)
|
|
|
+ if res.text == "ok":
|
|
|
+ QMessageBox.warning(self, "提示", "服务器AMRO登录成功!")
|
|
|
+ self.close()
|
|
|
+ else:
|
|
|
+ QMessageBox.warning(self, "提示", "服务器AMRO登录失败,请检查账号密码或服务器端登录或联系管理员检查服务器!")
|
|
|
+ except:
|
|
|
+ QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
|
|
|
+ self.close()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+
|
|
|
+class amroLoginWidget2(Ui_amroLogin2, QWidget):
|
|
|
+ def __init__(self, parent=None):
|
|
|
+ super().__init__(parent)
|
|
|
+ try:
|
|
|
+ self.setupUi(self)
|
|
|
+ self.pushButton.clicked.connect(self.btn)
|
|
|
+ self.ipinfo = None
|
|
|
+
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def btn(self):
|
|
|
+ try:
|
|
|
+ username = self.lineEditUsername.text()
|
|
|
+ password = self.lineEditPassword.text()
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/remoteCookielogin/%s/%s" % (username, password)
|
|
|
+ try:
|
|
|
+ res = requests.get(url=ip, timeout=60)
|
|
|
+ if res.text == "ok":
|
|
|
+ QMessageBox.warning(self, "提示", "服务器AMRO登录成功!")
|
|
|
+ self.close()
|
|
|
+ else:
|
|
|
+ QMessageBox.warning(self, "提示", "服务器AMRO登录失败,请检查账号和Cookie或服务器端登录或联系管理员检查服务器!")
|
|
|
+ except:
|
|
|
+ QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
|
|
|
+ self.close()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+
|
|
|
+class checkCalllist(Ui_checkCalllist, QWidget):
|
|
|
+ checkCalllist_signal = QtCore.pyqtSignal(str)
|
|
|
+
|
|
|
+ def __init__(self, parent=None):
|
|
|
+ super().__init__(parent)
|
|
|
+ try:
|
|
|
+ self.setupUi(self)
|
|
|
+ self.ipinfo = None
|
|
|
+ self.selectedtime = None
|
|
|
+ self.pushButton.clicked.connect(self.btn)
|
|
|
+ # self.show()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def start(self):
|
|
|
+ try:
|
|
|
+ selectedtime_time = str(self.selectedtime) + " 00:00:00"
|
|
|
+ now = datetime.datetime.strptime(selectedtime_time, "%Y%m%d %H:%M:%S")
|
|
|
+ tom = (now + datetime.timedelta(days=1)).strftime("%Y-%m-%d %H:%M:%S")
|
|
|
+ yesterday = (now - datetime.timedelta(days=1)).strftime("%Y-%m-%d %H:%M:%S")
|
|
|
+ self.label_5.setText("%s/%s" % (str(yesterday)[0:10], str(tom)[0:10]))
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/checkCalllist" + "/" + str(self.selectedtime)
|
|
|
+ try:
|
|
|
+ res = requests.get(url=ip, timeout=30).json()
|
|
|
+ # print(res)
|
|
|
+ except Exception:
|
|
|
+ # print('登录服务器失败')
|
|
|
+ QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ self.peopleLabel = ["序号", "电话", "工号", "姓名", "航班号", "拨号次数", "创建时间", "接通时间"]
|
|
|
+ self.tableWidgetFlight.setColumnCount(len(self.peopleLabel))
|
|
|
+ self.tableWidgetFlight.verticalHeader().setVisible(False)
|
|
|
+ self.tableWidgetFlight.setHorizontalHeaderLabels(self.peopleLabel)
|
|
|
+ col = len(self.peopleLabel)
|
|
|
+ diplaylist = res
|
|
|
+ self.tableWidgetFlight.setRowCount(len(diplaylist.keys()))
|
|
|
+ for row in diplaylist.keys():
|
|
|
+ for colNum in range(0, col):
|
|
|
+ if colNum == 0:
|
|
|
+ self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(str(row)))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ else:
|
|
|
+ self.tableWidgetFlight.setItem(int(row), colNum,
|
|
|
+ QTableWidgetItem(diplaylist[row][self.peopleLabel[colNum]]))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ self.tableWidgetFlight.resizeColumnsToContents()
|
|
|
+ # self.show()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ def btn(self):
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/checkCalllist" + "/" + str(self.selectedtime)
|
|
|
+ self.res = requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ # print('登录服务器失败')
|
|
|
+ QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ self.res = {}
|
|
|
+ col = len(self.peopleLabel)
|
|
|
+ diplaylist = self.res
|
|
|
+ self.tableWidgetFlight.setRowCount(len(diplaylist))
|
|
|
+ rownum = 0
|
|
|
+ for row in diplaylist:
|
|
|
+ for colNum in range(0, col):
|
|
|
+ if colNum == 0:
|
|
|
+ self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(str(row)))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ else:
|
|
|
+ self.tableWidgetFlight.setItem(int(row), colNum,QTableWidgetItem(diplaylist[row][self.peopleLabel[colNum]]))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ self.tableWidgetFlight.resizeColumnsToContents()
|
|
|
+
|
|
|
+ def closeEvent(self, event):
|
|
|
+ try:
|
|
|
+ reply = QMessageBox.question(self, '确认', '你确定要退出程序吗?')
|
|
|
+ reply = str(reply)
|
|
|
+ if reply == "StandardButton.Yes":
|
|
|
+ self.checkCalllist_signal.emit(reply)
|
|
|
+ event.ignore()
|
|
|
+ else:
|
|
|
+ event.ignore()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+
|
|
|
+class checkLoadSingal(Ui_checkLoadSingal, QWidget):
|
|
|
+ def __init__(self, parent=None):
|
|
|
+ super().__init__(parent)
|
|
|
+ try:
|
|
|
+ self.setupUi(self)
|
|
|
+ self.worknum = None
|
|
|
+ self.name = None
|
|
|
+ self.selectedtime = None
|
|
|
+ self.ipinfo = None
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def start(self):
|
|
|
+ try:
|
|
|
+ # print(self.worknum)
|
|
|
+ # print(self.name)
|
|
|
+ # print(self.selectedtime)
|
|
|
+ # print(self.ipinfo)
|
|
|
+ self.label_3.setText(self.name)
|
|
|
+ selectedtime_time = str(self.selectedtime) + " 00:00:00"
|
|
|
+ now = datetime.datetime.strptime(selectedtime_time, "%Y%m%d %H:%M:%S")
|
|
|
+ yesterday = (now - datetime.timedelta(days=1)).strftime("%Y-%m-%d %H:%M:%S")
|
|
|
+ self.label_5.setText("%s/%s" % (str(yesterday)[0:10], str(now)[0:10]))
|
|
|
+ # print(now)
|
|
|
+ # print(yesterday)
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/checkLoadSingal" + "/" + str(self.worknum) + "/" + str(
|
|
|
+ yesterday) + "/" + str(now)
|
|
|
+ try:
|
|
|
+ res = requests.get(url=ip, timeout=30).json()
|
|
|
+ # print(res)
|
|
|
+ except Exception:
|
|
|
+ # print('登录服务器失败')
|
|
|
+ logging.warning('登录服务器失败, res获取失败')
|
|
|
+ QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ self.show()
|
|
|
+ peopleLabel = ["序号", "保障日期", "类型", "机号", "机位", "开始时间", "结束时间"]
|
|
|
+ self.tableWidgetFlight.setColumnCount(len(peopleLabel))
|
|
|
+ self.tableWidgetFlight.verticalHeader().setVisible(False)
|
|
|
+ self.tableWidgetFlight.setHorizontalHeaderLabels(peopleLabel)
|
|
|
+ col = len(peopleLabel)
|
|
|
+ diplaylist = res
|
|
|
+ self.tableWidgetFlight.setRowCount(len(diplaylist.keys()))
|
|
|
+ for row in diplaylist.keys():
|
|
|
+ for colNum in range(0, col):
|
|
|
+ if colNum == 0:
|
|
|
+ self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(str(row)))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ else:
|
|
|
+ self.tableWidgetFlight.setItem(int(row), colNum,
|
|
|
+ QTableWidgetItem(diplaylist[row][peopleLabel[colNum]]))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ self.tableWidgetFlight.resizeColumnsToContents()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+
|
|
|
+class searchpeople_get(Ui_searchpeople_get, QWidget):
|
|
|
+ searchpeoplelist_signal = QtCore.pyqtSignal(list)
|
|
|
+
|
|
|
+ def __init__(self, parent=None):
|
|
|
+ super().__init__(parent)
|
|
|
+ try:
|
|
|
+ self.setupUi(self)
|
|
|
+ self.pushButton.clicked.connect(self.btn)
|
|
|
+ self.searchpeoplelist = None
|
|
|
+ self.ipinfo = None
|
|
|
+ self.Allpeoplelist = {}
|
|
|
+ self.selectedtime = None
|
|
|
+ self.selectedbc = None
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def btn(self):
|
|
|
+ try:
|
|
|
+ searchpeoplelist = []
|
|
|
+ for row in range(self.tableWidgetFlight.rowCount()):
|
|
|
+ item = self.tableWidgetFlight.item(row, 2)
|
|
|
+ if item is not None and item.checkState() == Qt.CheckState.Checked:
|
|
|
+ name = self.tableWidgetFlight.item(row, 1).text()
|
|
|
+ searchpeoplelist.append(name)
|
|
|
+ # print(searchpeoplelist)
|
|
|
+ self.searchpeoplelist = searchpeoplelist
|
|
|
+ self.searchpeoplelist_signal.emit(self.searchpeoplelist)
|
|
|
+ self.close()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def start(self):
|
|
|
+ try:
|
|
|
+ self.show()
|
|
|
+ peopleLabel = ["序号", "姓名", "选择"]
|
|
|
+ diplaylist = self.Allpeoplelist
|
|
|
+ self.tableWidgetFlight.setColumnCount(len(peopleLabel))
|
|
|
+ self.tableWidgetFlight.setHorizontalHeaderLabels(peopleLabel)
|
|
|
+ self.tableWidgetFlight.verticalHeader().setVisible(False)
|
|
|
+ self.tableWidgetFlight.setRowCount(len(diplaylist.keys()))
|
|
|
+
|
|
|
+ for row in diplaylist.keys():
|
|
|
+ for colNum in range(0, 3):
|
|
|
+ if colNum == 0:
|
|
|
+ self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(str(row)))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ elif colNum == 1:
|
|
|
+ self.tableWidgetFlight.setItem(int(row), colNum,
|
|
|
+ QTableWidgetItem(diplaylist[row][peopleLabel[colNum]]))
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ elif colNum == 2:
|
|
|
+ checkbox = QTableWidgetItem()
|
|
|
+ checkbox.setCheckState(Qt.CheckState.Unchecked)
|
|
|
+ self.tableWidgetFlight.setItem(int(row), colNum, checkbox)
|
|
|
+ self.tableWidgetFlight.item(int(row), colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ self.tableWidgetFlight.resizeColumnsToContents()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+
|
|
|
+class localipset(Ui_Addloacalip, QWidget):
|
|
|
+ localipset_signal = QtCore.pyqtSignal(str)
|
|
|
+
|
|
|
+ def __init__(self, parent=None):
|
|
|
+ super().__init__(parent)
|
|
|
+ try:
|
|
|
+ self.setupUi(self)
|
|
|
+ self.pushButton.clicked.connect(self.btn)
|
|
|
+ self.localip1 = None
|
|
|
+ self.localip = None
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def start(self):
|
|
|
+ self.show()
|
|
|
+ self.lineEditIP.setText(self.localip)
|
|
|
+
|
|
|
+ def btn(self):
|
|
|
+ try:
|
|
|
+ self.localip1 = self.lineEditIP.text()
|
|
|
+ self.localipset_signal.emit(self.localip1)
|
|
|
+ self.close()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+
|
|
|
+class checkLogs(Ui_checkLogs, QWidget):
|
|
|
+ def __init__(self, parent=None):
|
|
|
+ super().__init__(parent)
|
|
|
+ self.setupUi(self)
|
|
|
+ self.ipinfo = None
|
|
|
+ self.endtime = (datetime.date.today() + datetime.timedelta(days=1)).strftime("%Y-%m-%d %H:%M:%S")
|
|
|
+ self.starttime = (datetime.date.today() - datetime.timedelta(days=1)).strftime("%Y-%m-%d %H:%M:%S")
|
|
|
+ self.dateTimeEdit.setDateTime(datetime.datetime.strptime(self.starttime, "%Y-%m-%d %H:%M:%S"))
|
|
|
+ self.dateTimeEdit_2.setDateTime(datetime.datetime.strptime(self.endtime, "%Y-%m-%d %H:%M:%S"))
|
|
|
+ self.lineEdit.textChanged.connect(self.changed)
|
|
|
+ self.peopleLabel = ["序号", "航班编号", "警告信息", "信息状态", "提示信息", "产生时间", "处理人", "处理时间", "变更字段", "显示对象", "提示内容"]
|
|
|
+ self.tableWidgetFlight.setColumnCount(len(self.peopleLabel))
|
|
|
+ self.tableWidgetFlight.verticalHeader().setVisible(False)
|
|
|
+ self.tableWidgetFlight.setHorizontalHeaderLabels(self.peopleLabel)
|
|
|
+ self.pushButton.clicked.connect(self.btn)
|
|
|
+
|
|
|
+ def start(self):
|
|
|
+ self.show()
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/checkLogs/" + self.starttime + "/" + self.endtime
|
|
|
+ self.res = requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ # print('登录服务器失败')
|
|
|
+ QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ self.res = {}
|
|
|
+ col = len(self.peopleLabel)
|
|
|
+ diplaylist = self.res
|
|
|
+ self.tableWidgetFlight.setRowCount(len(diplaylist))
|
|
|
+ rownum = 0
|
|
|
+ for row in diplaylist:
|
|
|
+ for colNum in range(0, col):
|
|
|
+ if colNum == 0:
|
|
|
+ self.tableWidgetFlight.setItem(rownum, colNum, QTableWidgetItem(str(rownum)))
|
|
|
+ self.tableWidgetFlight.item(rownum, colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ else:
|
|
|
+ self.tableWidgetFlight.setItem(rownum, colNum, QTableWidgetItem(str(row[colNum])))
|
|
|
+ self.tableWidgetFlight.item(rownum, colNum).setTextAlignment(Qt.AlignmentFlag.AlignLeft)
|
|
|
+ rownum += 1
|
|
|
+ self.tableWidgetFlight.resizeColumnsToContents()
|
|
|
+
|
|
|
+ def changed(self):
|
|
|
+ res = []
|
|
|
+ for i in self.res:
|
|
|
+ if str(self.lineEdit.text()) in str(i):
|
|
|
+ res.append(i)
|
|
|
+ col = len(self.peopleLabel)
|
|
|
+ diplaylist = res
|
|
|
+ self.tableWidgetFlight.setRowCount(len(diplaylist))
|
|
|
+ rownum = 0
|
|
|
+ for row in diplaylist:
|
|
|
+ for colNum in range(0, col):
|
|
|
+ if colNum == 0:
|
|
|
+ self.tableWidgetFlight.setItem(rownum, colNum, QTableWidgetItem(str(rownum)))
|
|
|
+ self.tableWidgetFlight.item(rownum, colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ else:
|
|
|
+ self.tableWidgetFlight.setItem(rownum, colNum, QTableWidgetItem(str(row[colNum])))
|
|
|
+ self.tableWidgetFlight.item(rownum, colNum).setTextAlignment(Qt.AlignmentFlag.AlignLeft)
|
|
|
+ rownum += 1
|
|
|
+ self.tableWidgetFlight.resizeColumnsToContents()
|
|
|
+
|
|
|
+ def btn(self):
|
|
|
+ self.starttime = self.dateTimeEdit.text()
|
|
|
+ self.endtime = self.dateTimeEdit_2.text()
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/checkLogs/" + self.starttime + "/" + self.endtime
|
|
|
+ self.res = requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ # print('登录服务器失败')
|
|
|
+ QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ self.res = {}
|
|
|
+ col = len(self.peopleLabel)
|
|
|
+ diplaylist = self.res
|
|
|
+ self.tableWidgetFlight.setRowCount(len(diplaylist))
|
|
|
+ rownum = 0
|
|
|
+ for row in diplaylist:
|
|
|
+ for colNum in range(0, col):
|
|
|
+ if colNum == 0:
|
|
|
+ self.tableWidgetFlight.setItem(rownum, colNum, QTableWidgetItem(str(rownum)))
|
|
|
+ self.tableWidgetFlight.item(rownum, colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ else:
|
|
|
+ self.tableWidgetFlight.setItem(rownum, colNum, QTableWidgetItem(str(row[colNum])))
|
|
|
+ self.tableWidgetFlight.item(rownum, colNum).setTextAlignment(Qt.AlignmentFlag.AlignLeft)
|
|
|
+ rownum += 1
|
|
|
+ self.tableWidgetFlight.resizeColumnsToContents()
|
|
|
+
|
|
|
+
|
|
|
+class changeAuth(Ui_changeAuth, QWidget):
|
|
|
+ def __init__(self, parent=None):
|
|
|
+ super().__init__(parent)
|
|
|
+ try:
|
|
|
+ self.setupUi(self)
|
|
|
+ self.ipinfo = None
|
|
|
+ self.label_5.setText("")
|
|
|
+ self.label_6.setText("")
|
|
|
+ self.pushButton.clicked.connect(self.btn)
|
|
|
+ self.user = None
|
|
|
+ self.comboBox.addItems(['1', '2', '3',"4"])
|
|
|
+ self.comboBox.setEditable(True)
|
|
|
+ self.filterModel1 = QSortFilterProxyModel(self.comboBox)
|
|
|
+ self.filterModel1.setFilterCaseSensitivity(Qt.CaseSensitivity.CaseInsensitive)
|
|
|
+ self.filterModel1.setSourceModel(self.comboBox.model())
|
|
|
+ self.completer1 = QCompleter(self.filterModel1, self.comboBox)
|
|
|
+ self.completer1.setCompletionMode(QCompleter.CompletionMode.UnfilteredPopupCompletion)
|
|
|
+ self.completer1.setCaseSensitivity(Qt.CaseSensitivity.CaseInsensitive)
|
|
|
+ self.comboBox.setCompleter(self.completer)
|
|
|
+ self.comboBox.lineEdit().textEdited.connect(self.filterModel1.setFilterFixedString)
|
|
|
+ self.completer1.activated.connect(self.on_completer_activated1)
|
|
|
+
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def start(self):
|
|
|
+ self.show()
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/loginDbget/" + str(self.user)
|
|
|
+ self.res = requests.get(url=ip, timeout=30).json()
|
|
|
+ except Exception:
|
|
|
+ # print('登录服务器失败')
|
|
|
+ QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ self.res = {}
|
|
|
+ if self.res != {}:
|
|
|
+ namelist = []
|
|
|
+ for i in self.res.keys():
|
|
|
+ namelist.append(self.res[i]["登录名"])
|
|
|
+ print(namelist)
|
|
|
+ self.comboBox_2.addItems(namelist)
|
|
|
+ self.comboBox_2.setEditable(True)
|
|
|
+ self.comboBox_2.currentIndexChanged.connect(self.changed)
|
|
|
+ self.filterModel = QSortFilterProxyModel(self.comboBox_2)
|
|
|
+ self.filterModel.setFilterCaseSensitivity(Qt.CaseSensitivity.CaseInsensitive)
|
|
|
+ self.filterModel.setSourceModel(self.comboBox_2.model())
|
|
|
+ self.completer = QCompleter(self.filterModel, self.comboBox_2)
|
|
|
+ self.completer.setCompletionMode(QCompleter.CompletionMode.UnfilteredPopupCompletion)
|
|
|
+ self.completer.setCaseSensitivity(Qt.CaseSensitivity.CaseInsensitive)
|
|
|
+ self.comboBox_2.setCompleter(self.completer)
|
|
|
+ self.comboBox_2.lineEdit().textEdited.connect(self.filterModel.setFilterFixedString)
|
|
|
+ self.completer.activated.connect(self.on_completer_activated)
|
|
|
+ else:
|
|
|
+ QMessageBox.warning(self, "提示", "获取数据库为空,请检查数据库或联系管理员")
|
|
|
+
|
|
|
+ def on_completer_activated1(self, text):
|
|
|
+ try:
|
|
|
+ if text:
|
|
|
+ index = self.comboBox.findText(text)
|
|
|
+ self.comboBox.setCurrentIndex(index)
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def on_completer_activated(self, text):
|
|
|
+ try:
|
|
|
+ if text:
|
|
|
+ print(text)
|
|
|
+ index = self.comboBox_2.findText(text)
|
|
|
+ self.comboBox_2.setCurrentIndex(index)
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def changed(self):
|
|
|
+ if self.res != {}:
|
|
|
+ self.label_5.setText(self.res[self.comboBox_2.currentText()]["使用人"])
|
|
|
+ self.label_6.setText(self.res[self.comboBox_2.currentText()]["权限"])
|
|
|
+
|
|
|
+ def btn(self):
|
|
|
+ data = {
|
|
|
+ '登录名': "'%s'" % self.comboBox_2.currentText(),
|
|
|
+ "权限": "'%s'" % self.comboBox.currentText()
|
|
|
+ }
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/changeAuth"
|
|
|
+ data = json.dumps(data)
|
|
|
+ res = requests.post(url=ip, data=data, timeout=30).json()
|
|
|
+ if res["返回值"] == "1":
|
|
|
+ QMessageBox.warning(self, "提示", "权限变更成功!")
|
|
|
+ self.close()
|
|
|
+ else:
|
|
|
+ QMessageBox.warning(self, "提示", "权限变更失败,请联系管理员检查服务器!")
|
|
|
+ except Exception:
|
|
|
+ QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+
|
|
|
+class changePassword(Ui_FormChangePssword, QWidget):
|
|
|
+ def __init__(self, parent=None):
|
|
|
+ super().__init__(parent)
|
|
|
+ try:
|
|
|
+ self.setupUi(self)
|
|
|
+ self.ipinfo = None
|
|
|
+ self.pushButton.clicked.connect(self.btn)
|
|
|
+ self.user = None
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def severpost_meassge(self, postname, postdata, postdata2):
|
|
|
+
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/" + str(postname) + str(postdata) + str(postdata2)
|
|
|
+ res = requests.get(url=ip, timeout=30).json()
|
|
|
+ return res
|
|
|
+ except Exception:
|
|
|
+ # print('登录服务器失败')
|
|
|
+ QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ return ''
|
|
|
+
|
|
|
+ def severpost_data(self, postname, data: dict):
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/" + str(postname)
|
|
|
+ data = json.dumps(data)
|
|
|
+ res = requests.post(url=ip, data=data, timeout=30).json()
|
|
|
+ return res
|
|
|
+ except Exception:
|
|
|
+ QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ return 'fail'
|
|
|
+
|
|
|
+ def btn(self):
|
|
|
+ try:
|
|
|
+ oldpassword = self.lineEditold.text()
|
|
|
+ newpassword = self.lineEditnew.text()
|
|
|
+ newpassword2 = self.lineEditnew2.text()
|
|
|
+
|
|
|
+ res = self.severpost_meassge("loginTable", "/%s" % self.user, "/%s" % oldpassword)["返回值"]
|
|
|
+ # print(res)
|
|
|
+ if res != "":
|
|
|
+ if newpassword == newpassword2:
|
|
|
+ dataDic = {'登录名': self.user, '新密码': newpassword, "旧密码": oldpassword}
|
|
|
+
|
|
|
+ res = self.severpost_data("changePassword", dataDic)
|
|
|
+ if res["返回值"] == "ok":
|
|
|
+ self.close()
|
|
|
+ QMessageBox.warning(self, "提示", "密码修改成功!!!")
|
|
|
+ else:
|
|
|
+ QMessageBox.warning(self, "提示", "密码修改失败,请检查服务器连接状态或联系管理员!!!")
|
|
|
+ else:
|
|
|
+ QMessageBox.warning(self, "警告", "两次密码输入不同!!!")
|
|
|
+ else:
|
|
|
+ QMessageBox.warning(self, "警告", "原密码错误!!!")
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+
|
|
|
+class AddPGWidget(Ui_FormAddPG, QWidget):
|
|
|
+ # AddPG_signal=QtCore.pyqtSignal(str)
|
|
|
+ def __init__(self, parent=None):
|
|
|
+ super().__init__(parent)
|
|
|
+ try:
|
|
|
+ self.setupUi(self)
|
|
|
+ nowDay = datetime.datetime.now()
|
|
|
+ self.dateTimeEdit.setDateTime(nowDay)
|
|
|
+ self.pushButton.clicked.connect(self.btn)
|
|
|
+ # self.AddPG_signal.connect(self.getname)
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def getname(self, name, date, ip):
|
|
|
+ try:
|
|
|
+ self.getname = name
|
|
|
+ self.getdate = date
|
|
|
+ self.getip = ip
|
|
|
+ # print(self.getname)
|
|
|
+ # print(self.getdate)
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def severpost_meassge(self, postname, postdata, postdata2, postdata3):
|
|
|
+ # print(ip)
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.getip) + "/static/" + str(postname) + str(postdata) + str(postdata2) + str(
|
|
|
+ postdata3)
|
|
|
+ res = requests.get(url=ip, timeout=30).json()
|
|
|
+ if res["返回值"] == "ok":
|
|
|
+ QMessageBox.warning(self, "提示", "已创建待办")
|
|
|
+ else:
|
|
|
+ QMessageBox.warning(self, "提示", "创建待办失败,请检查配置文件或联系管理员检查服务器!")
|
|
|
+ except Exception:
|
|
|
+ QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def btn(self):
|
|
|
+ try:
|
|
|
+ dealtext = self.textEdit.toPlainText()
|
|
|
+ time = self.dateTimeEdit.dateTime().toString('yyyy-M-d H:mm')
|
|
|
+ # print(time)
|
|
|
+ self.severpost_meassge("insertLogs", "/%s" % dealtext, "/%s" % self.getname, "/%s" % time)
|
|
|
+ self.close()
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+
|
|
|
+class addFlightWidget(Ui_FormAddFlight, QWidget):
|
|
|
+ def __init__(self, parent=None):
|
|
|
+ super().__init__(parent)
|
|
|
+ try:
|
|
|
+ self.setupUi(self)
|
|
|
+ nowDay = datetime.datetime.now()
|
|
|
+ self.dateEdit.setDateTime(nowDay)
|
|
|
+ self.dateTimeEdit.setDateTime(nowDay)
|
|
|
+ self.dateTimeEdit_2.setDateTime(nowDay)
|
|
|
+ self.pushButton.clicked.connect(self.btn)
|
|
|
+ self.comboBox.addItems(['短停', '航前', '特后前', '航后'])
|
|
|
+ self.comboBox.setEditable(True)
|
|
|
+ self.comboBox.currentIndexChanged.connect(self.changed)
|
|
|
+ self.filterModel = QSortFilterProxyModel(self.comboBox)
|
|
|
+ self.filterModel.setFilterCaseSensitivity(Qt.CaseSensitivity.CaseInsensitive)
|
|
|
+ self.filterModel.setSourceModel(self.comboBox.model())
|
|
|
+ self.completer = QCompleter(self.filterModel, self.comboBox)
|
|
|
+ self.completer.setCompletionMode(QCompleter.CompletionMode.UnfilteredPopupCompletion)
|
|
|
+ self.completer.setCaseSensitivity(Qt.CaseSensitivity.CaseInsensitive)
|
|
|
+ self.comboBox.setCompleter(self.completer)
|
|
|
+ self.comboBox.lineEdit().textEdited.connect(self.filterModel.setFilterFixedString)
|
|
|
+ self.completer.activated.connect(self.on_completer_activated)
|
|
|
+ self.ipinfo = None
|
|
|
+ self.user = None
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def on_completer_activated(self, text):
|
|
|
+ try:
|
|
|
+ if text:
|
|
|
+ print(text)
|
|
|
+ index = self.comboBox.findText(text)
|
|
|
+ self.comboBox.setCurrentIndex(index)
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def changed(self):
|
|
|
+ if self.comboBox.currentText() == "航前":
|
|
|
+ self.label_8.setEnabled(False)
|
|
|
+ self.dateTimeEdit.setEnabled(False)
|
|
|
+ self.label_9.setEnabled(True)
|
|
|
+ self.dateTimeEdit_2.setEnabled(True)
|
|
|
+ elif self.comboBox.currentText() == "航后":
|
|
|
+ self.label_9.setEnabled(False)
|
|
|
+ self.dateTimeEdit_2.setEnabled(False)
|
|
|
+ self.label_8.setEnabled(True)
|
|
|
+ self.dateTimeEdit.setEnabled(True)
|
|
|
+ else:
|
|
|
+ self.label_8.setEnabled(True)
|
|
|
+ self.dateTimeEdit.setEnabled(True)
|
|
|
+ self.label_9.setEnabled(True)
|
|
|
+ self.dateTimeEdit_2.setEnabled(True)
|
|
|
+
|
|
|
+ def btn(self):
|
|
|
+ if self.lineEditPWD.text() != "" and self.lineEditUser.text() != "" and self.lineEditPeople.text() != "" and self.lineEdit.text() != "" and self.lineEdit_2.text() != "":
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/" + "manAddFlight/" + "%s/%s/%s/%s/%s/%s/%s/%s/%s/%s" % (
|
|
|
+ self.comboBox.currentText(), self.lineEditPWD.text(), self.lineEditUser.text(),
|
|
|
+ self.lineEditPeople.text(),
|
|
|
+ self.lineEdit.text(), self.dateEdit.text(), self.lineEdit_2.text(), self.dateTimeEdit.text(),
|
|
|
+ self.dateTimeEdit_2.text(), self.user)
|
|
|
+ try:
|
|
|
+ res = requests.get(url=ip, timeout=30).json()
|
|
|
+ if res["返回值"] == "ok":
|
|
|
+ self.close()
|
|
|
+ QMessageBox.warning(self, "提示", "航班添加成功!!!")
|
|
|
+ else:
|
|
|
+ self.close()
|
|
|
+ QMessageBox.warning(self, "警告", "航班添加失败")
|
|
|
+ except Exception:
|
|
|
+ QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ else:
|
|
|
+ QMessageBox.warning(self, "警告", "请完善航班信息后再提交!")
|
|
|
+
|
|
|
+class handoverFlightWidget(Ui_handoverFlight, QWidget):
|
|
|
+ handoverFlight_signal = QtCore.pyqtSignal(str)
|
|
|
+ def __init__(self, parent=None):
|
|
|
+ super().__init__(parent)
|
|
|
+ try:
|
|
|
+ self.setupUi(self)
|
|
|
+ self.pushButton.clicked.connect(self.btn)
|
|
|
+ self.user = None
|
|
|
+ self.ipinfo = None
|
|
|
+ self.selectedtime=None
|
|
|
+ self.Allflight = {}
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ def severpostData_nomeassge(self, postname, data: dict):
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/" + str(postname)
|
|
|
+ data = json.dumps(data)
|
|
|
+ res = requests.post(url=ip, data=data, timeout=30).json()
|
|
|
+ return res
|
|
|
+ except Exception:
|
|
|
+ QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ def btn(self):
|
|
|
+ try:
|
|
|
+ list = []
|
|
|
+ sts=[]
|
|
|
+ list_cz = []
|
|
|
+ sts_cz = []
|
|
|
+ rows=[]
|
|
|
+ for row in range(self.tableWidgetFlight.rowCount()):
|
|
|
+ item = self.tableWidgetFlight.item(row, 0)
|
|
|
+ if item and item.checkState() == Qt.CheckState.Checked and self.tableWidgetFlight.item(row, 8).text() != "":
|
|
|
+ name = self.tableWidgetFlight.item(row, 10).text()
|
|
|
+ rows.append(row)
|
|
|
+ list.append(name)
|
|
|
+ sts.append("1")
|
|
|
+ data = {"taskid": ','.join(list),
|
|
|
+ "sts": ','.join(sts)}
|
|
|
+
|
|
|
+ if list !=[]:
|
|
|
+ res = self.severpostData_nomeassge("handoverflight", data=data)["返回值"]
|
|
|
+ if res == "ok" :
|
|
|
+ QMessageBox.warning(self, "提示", f"交班提交成功!请核对附加消息交班航班!")
|
|
|
+ for ii in rows:
|
|
|
+ try:
|
|
|
+ if "【交班航班】" not in self.tableWidgetFlight.item(ii, 11).text() and self.tableWidgetFlight.item(ii, 8).text() != "":
|
|
|
+ flightid = self.tableWidgetFlight.item(ii, 12).text()
|
|
|
+ flighttype = self.tableWidgetFlight.item(ii, 7).text()
|
|
|
+ fjxx = "【交班航班】" + self.tableWidgetFlight.item(ii, 11).text()
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/updateEidteItem/" + "%s/" % str(fjxx) + "%s/" % str(flightid) + "A/%s/" % str(flighttype) + "%s" % str(self.selectedtime)
|
|
|
+ try:
|
|
|
+ requests.get(url=ip, timeout=30).json()
|
|
|
+ self.handoverFlight_signal.emit("1")
|
|
|
+ except Exception:
|
|
|
+ QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ except:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ self.close()
|
|
|
+ else:
|
|
|
+ QMessageBox.warning(self, "警告", "航班交接失败,请重新尝试")
|
|
|
+
|
|
|
+ else:
|
|
|
+ QMessageBox.warning(self, "警告", "请选择要交接的航班!未进行派工的航班无法进行交接班")
|
|
|
+
|
|
|
+ except Exception:
|
|
|
+ print(traceback.format_exc())
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def start(self):
|
|
|
+ try:
|
|
|
+ self.show()
|
|
|
+ peopleLabel = ["选择","序号", "机号","航班号", "预达", "计飞", "机位", "类型", "维修人员","放行", "任务编号","附加消息","航班编号" ]
|
|
|
+ tableWidgetDispalydata = self.Allflight
|
|
|
+ self.tableWidgetFlight.setColumnCount(len(peopleLabel))
|
|
|
+ self.tableWidgetFlight.setHorizontalHeaderLabels(peopleLabel)
|
|
|
+ self.tableWidgetFlight.verticalHeader().setVisible(False)
|
|
|
+ self.tableWidgetFlight.setRowCount(len(tableWidgetDispalydata.keys()))
|
|
|
+ i = 0
|
|
|
+ for row in tableWidgetDispalydata.keys():
|
|
|
+ if ("3U" in tableWidgetDispalydata[row][str(4)] or "CSC" in tableWidgetDispalydata[row][str(4)]) and \
|
|
|
+ tableWidgetDispalydata[row][str(24)] != "" and "【交班航班】" not in tableWidgetDispalydata[row][str(30)]:
|
|
|
+ for colNum in range(0, 13):
|
|
|
+ if colNum == 0:
|
|
|
+ checkbox = QTableWidgetItem()
|
|
|
+ checkbox.setCheckState(Qt.CheckState.Unchecked)
|
|
|
+ self.tableWidgetFlight.setItem(i, colNum, checkbox)
|
|
|
+ self.tableWidgetFlight.item(i, colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ elif colNum == 1:
|
|
|
+ self.tableWidgetFlight.setItem(i, colNum, QTableWidgetItem(str(i+1)))
|
|
|
+ self.tableWidgetFlight.item(i, colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ elif colNum == 2:
|
|
|
+ self.tableWidgetFlight.setItem(i, colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(1)])))
|
|
|
+ self.tableWidgetFlight.item(i, colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ elif colNum == 3:
|
|
|
+ self.tableWidgetFlight.setItem(i, colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(4)])))
|
|
|
+ self.tableWidgetFlight.item(i, colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ elif colNum == 4:
|
|
|
+ self.tableWidgetFlight.setItem(i, colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(6)])))
|
|
|
+ self.tableWidgetFlight.item(i, colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ elif colNum == 5:
|
|
|
+ self.tableWidgetFlight.setItem(i, colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(7)])))
|
|
|
+ self.tableWidgetFlight.item(i, colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+
|
|
|
+ elif colNum == 6:
|
|
|
+ self.tableWidgetFlight.setItem(i, colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(8)])))
|
|
|
+ self.tableWidgetFlight.item(i, colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ elif colNum == 7:
|
|
|
+ self.tableWidgetFlight.setItem(i, colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(9)])))
|
|
|
+ self.tableWidgetFlight.item(i, colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ elif colNum == 8:
|
|
|
+ self.tableWidgetFlight.setItem(i, colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(24)])))
|
|
|
+ self.tableWidgetFlight.item(i, colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+
|
|
|
+ elif colNum == 9:
|
|
|
+ self.tableWidgetFlight.setItem(i, colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(25)])))
|
|
|
+ self.tableWidgetFlight.item(i, colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ elif colNum == 10:
|
|
|
+ self.tableWidgetFlight.setItem(i, colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(26)])))
|
|
|
+ self.tableWidgetFlight.item(i, colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ elif colNum == 12:
|
|
|
+ self.tableWidgetFlight.setItem(i, colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(26)])))
|
|
|
+ self.tableWidgetFlight.item(i, colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ elif colNum == 11:
|
|
|
+ self.tableWidgetFlight.setItem(i, colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(30)])))
|
|
|
+ self.tableWidgetFlight.item(i, colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
|
|
|
+ if (i+1)%2 ==0:
|
|
|
+ self.tableWidgetFlight.item(i, colNum).setBackground(QColor('#DDE2E3'))
|
|
|
+ i += 1
|
|
|
+
|
|
|
+
|
|
|
+ self.tableWidgetFlight.resizeColumnsToContents()
|
|
|
+ self.tableWidgetFlight.setColumnHidden(12, True)
|
|
|
+ self.tableWidgetFlight.setColumnHidden(10, True)
|
|
|
+ except Exception:
|
|
|
+ #print(traceback.format_exc())
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+class addUserWidget(Ui_FormAdduser, QWidget):
|
|
|
+ def __init__(self, parent=None):
|
|
|
+ super().__init__(parent)
|
|
|
+ try:
|
|
|
+ self.setupUi(self)
|
|
|
+ self.pushButton.clicked.connect(self.btn)
|
|
|
+ self.comboBox.addItems(['1', '2', '3',"4"])
|
|
|
+ self.comboBox.setEditable(True)
|
|
|
+ self.filterModel = QSortFilterProxyModel(self.comboBox)
|
|
|
+ self.filterModel.setFilterCaseSensitivity(Qt.CaseSensitivity.CaseInsensitive)
|
|
|
+ self.filterModel.setSourceModel(self.comboBox.model())
|
|
|
+ self.completer = QCompleter(self.filterModel, self.comboBox)
|
|
|
+ self.completer.setCompletionMode(QCompleter.CompletionMode.UnfilteredPopupCompletion)
|
|
|
+ self.completer.setCaseSensitivity(Qt.CaseSensitivity.CaseInsensitive)
|
|
|
+ self.comboBox.setCompleter(self.completer)
|
|
|
+
|
|
|
+ self.comboBox.lineEdit().textEdited.connect(self.filterModel.setFilterFixedString)
|
|
|
+ self.completer.activated.connect(self.on_completer_activated)
|
|
|
+ self.ipinfo = None
|
|
|
+ self.user = None
|
|
|
+ self.authority=None
|
|
|
+
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+
|
|
|
+ def severpost_meassge(self, postname, data: dict):
|
|
|
+ try:
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/" + str(postname)
|
|
|
+ data = json.dumps(data)
|
|
|
+ res = requests.post(url=ip, data=data, timeout=30).json()
|
|
|
+ return res
|
|
|
+ except Exception:
|
|
|
+ QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ return 'fail'
|
|
|
+
|
|
|
+ def on_completer_activated(self, text):
|
|
|
+ try:
|
|
|
+ if text:
|
|
|
+ index = self.comboBox.findText(text)
|
|
|
+ self.comboBox.setCurrentIndex(index)
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def btn(self):
|
|
|
+ try:
|
|
|
+ if int(self.authority) <= 1:
|
|
|
+ username = self.lineEditUser.text()
|
|
|
+ password = self.lineEditPWD.text()
|
|
|
+ authority = self.comboBox.currentText()
|
|
|
+ people = self.lineEditPeople.text()
|
|
|
+ if username != "" and password != "":
|
|
|
+ # print('用户名:{},密码:{},权限:{},使用人:{}'.format(username,password,authority,people))
|
|
|
+ dataDic = {
|
|
|
+ '登录名': username,
|
|
|
+ '密码': password,
|
|
|
+ '权限': authority,
|
|
|
+ '使用人': people
|
|
|
+ }
|
|
|
+
|
|
|
+ res = self.severpost_meassge("addUserWidget", dataDic)
|
|
|
+ if res["返回值"] == "1":
|
|
|
+ self.close()
|
|
|
+ self.show_message("提示", "用户创建成功!!!")
|
|
|
+ else:
|
|
|
+ self.show_message("警告", "此用户已存在")
|
|
|
+ else:
|
|
|
+ self.show_message("警告", "用户名或密码不能为空!!!")
|
|
|
+ else:
|
|
|
+ self.close()
|
|
|
+ self.show_message("警告", "权限不够,请联系管理员!!!")
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def show_message(self, type, str):
|
|
|
+ try:
|
|
|
+ QMessageBox.warning(self, "%s" % type, "%s" % str)
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+
|
|
|
+class findServerWidget(Ui_FormLink, QWidget):
|
|
|
+ selectServer_signal = QtCore.pyqtSignal(str)
|
|
|
+
|
|
|
+ def __init__(self, parent=None):
|
|
|
+ super().__init__(parent)
|
|
|
+ try:
|
|
|
+ self.threadpool = QThreadPool()
|
|
|
+ self.setupUi(self)
|
|
|
+ self.serverList = []
|
|
|
+ self.tableWidget.setColumnCount(2)
|
|
|
+ self.tableWidget.setHorizontalHeaderLabels(['服务器地址', '状态'])
|
|
|
+ self.threadWork_findServer()
|
|
|
+ self.tableWidget.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers)
|
|
|
+ self.tableWidget.cellDoubleClicked.connect(self.selectServer)
|
|
|
+ self.pushButton_manset.clicked.connect(self.setipinfo)
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def setipinfo(self):
|
|
|
+ try:
|
|
|
+ self.ipinfo = ""
|
|
|
+ if os.path.exists("server.code") is True:
|
|
|
+ read_path = os.getcwd() + "\\server.code"
|
|
|
+ with open(read_path, "r", encoding="utf-8") as f2:
|
|
|
+ rember_2 = f2.read()
|
|
|
+ if ';' in rember_2:
|
|
|
+ self.ipinfo = rember_2.split(';')[0]
|
|
|
+ self.ipinfo1 = rember_2.split(':')[0]
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/linktest"
|
|
|
+ try:
|
|
|
+ res = requests.get(url=ip, timeout=30)
|
|
|
+ self.selectServer_signal.emit(self.ipinfo1)
|
|
|
+ if res.text == "ok":
|
|
|
+ QMessageBox.warning(self, "提示", "服务器人工配置成功!")
|
|
|
+ else:
|
|
|
+ QMessageBox.warning(self, "提示", "服务器人工配置失败,请检查配置文件或联系管理员检查服务器!")
|
|
|
+ except Exception:
|
|
|
+ QMessageBox.warning(self, "提示", "服务器人工配置失败,请联系管理员检查服务器!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ else:
|
|
|
+ QMessageBox.warning(self, "提示", "服务器人工配置失败,请检查配置文件或联系管理员检查服务器!")
|
|
|
+ else:
|
|
|
+ QMessageBox.warning(self, "提示", "服务器人工配置失败,系统缺少配置文件!")
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ def setipinfo2(self):
|
|
|
+ try:
|
|
|
+ self.ipinfo = ""
|
|
|
+ if os.path.exists("server.code") is True:
|
|
|
+ read_path = os.getcwd() + "\\server.code"
|
|
|
+ with open(read_path, "r", encoding="utf-8") as f2:
|
|
|
+ rember_2 = f2.read()
|
|
|
+ if ';' in rember_2:
|
|
|
+ self.ipinfo = rember_2.split(';')[0]
|
|
|
+ self.ipinfo1 = rember_2.split(':')[0]
|
|
|
+ ip = "http://" + str(self.ipinfo) + "/static/linktest"
|
|
|
+ try:
|
|
|
+ res = requests.get(url=ip, timeout=30)
|
|
|
+ self.selectServer_signal.emit(self.ipinfo1)
|
|
|
+ if res.text == "ok":
|
|
|
+ QMessageBox.warning(self, "提示", "服务器搜索失败,自动检索配置文件配置成功!")
|
|
|
+ else:
|
|
|
+ QMessageBox.warning(self, "提示", "服务器搜索失败,自动检索配置文件配置成功,服务器连接失败,请检查配置文件或联系管理员检查服务器!")
|
|
|
+ except Exception:
|
|
|
+ QMessageBox.warning(self, "提示", "服务器搜索失败,自动检索配置文件配置成功,服务器连接失败,请检查配置文件或联系管理员检查服务器!")
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+ else:
|
|
|
+ QMessageBox.warning(self, "提示", "服务器搜索失败,自动检索配置文件配置失败,请检查配置文件或联系管理员检查服务器!")
|
|
|
+ else:
|
|
|
+ QMessageBox.warning(self, "提示", "服务器搜索失败,自动检索配置文件配置失败,系统缺少配置文件!")
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def selectServer(self, row, col):
|
|
|
+ # print(self.tableWidget.item(row,col).text())
|
|
|
+ try:
|
|
|
+ self.selectServer_signal.emit(self.tableWidget.item(row, 0).text())
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def threadWork_findServer(self):
|
|
|
+ try:
|
|
|
+ worker = Worker2(self.fn)
|
|
|
+ worker.signals.result.connect(self.print_out_result)
|
|
|
+ self.threadpool.start(worker)
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def fn(self):
|
|
|
+ try:
|
|
|
+ serverList = serverFind.findServer()
|
|
|
+ return serverList
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+ def print_out_result(self, dlist):
|
|
|
+ try:
|
|
|
+ self.serverList = dlist
|
|
|
+ # print(self.serverList)
|
|
|
+ if self.serverList == [] or self.serverList ==None:
|
|
|
+ self.setipinfo2()
|
|
|
+ else:
|
|
|
+ self.tableWidget.setRowCount(len(self.serverList))
|
|
|
+ rowNum = 0
|
|
|
+ for row in self.serverList:
|
|
|
+ colNum = 0
|
|
|
+ for col in row:
|
|
|
+ self.tableWidget.setItem(rowNum, colNum, QTableWidgetItem(col))
|
|
|
+ colNum += 1
|
|
|
+ rowNum += 1
|
|
|
+ except Exception:
|
|
|
+ logger.error(traceback.format_exc())
|
|
|
+
|
|
|
+
|
|
|
+class mapWebWidget(Ui_FormMapWeb, QWidget):
|
|
|
+ def __init__(self):
|
|
|
+ super().__init__()
|
|
|
+ self.setupUi(self)
|
|
|
+ # self.webEngineView.load(QUrl('http://192.168.2.22:6010/'))
|
|
|
+
|
|
|
+
|
|
|
+class Worker2(QRunnable):
|
|
|
+ def __init__(self, fn, *args, **kwargs):
|
|
|
+ super(Worker2, self).__init__()
|
|
|
+ # Store constructor arguments (re-used for processing)
|
|
|
+ self.fn = fn
|
|
|
+ self.args = args
|
|
|
+ self.kwargs = kwargs
|
|
|
+ self.signals = WorkerSignals()
|
|
|
+
|
|
|
+ @pyqtSlot()
|
|
|
+ def run(self):
|
|
|
+ try:
|
|
|
+ result = self.fn(
|
|
|
+ *self.args, **self.kwargs
|
|
|
+ )
|
|
|
+ except Exception:
|
|
|
+
|
|
|
+ traceback.print_exc()
|
|
|
+ exctype, value = sys.exc_info()[:2]
|
|
|
+ self.signals.error.emit((exctype, value, traceback.format_exc()))
|
|
|
+ else:
|
|
|
+ self.signals.result.emit(result) # Return the result of the processing
|
|
|
+ finally:
|
|
|
+ self.signals.finished.emit()
|
|
|
+
|
|
|
+
|
|
|
+class WorkerSignals(QObject):
|
|
|
+ finished = pyqtSignal()
|
|
|
+ error = pyqtSignal(tuple)
|
|
|
+ result = pyqtSignal(object)
|
|
|
+
|
|
|
+
|
|
|
+if __name__ == '__main__':
|
|
|
+ app = QApplication(sys.argv)
|
|
|
+ mw = MainWidget()
|
|
|
+
|
|
|
+ sys.exit(app.exec())
|