1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088 |
- import datetime
- import socket
- import sys
- from PyQt6 import QtCore
- from PyQt6.QtCore import Qt, QThread, QThreadPool, QTimer
- from PyQt6.QtGui import QColor, QFont,QPalette
- from PyQt6.QtTextToSpeech import QTextToSpeech
- from PyQt6.QtWidgets import QApplication, QWidget, QMessageBox, QPushButton, QTableWidgetItem, QFileDialog, QMenu
- import requests
- import os
- import json
- from openpyxl import Workbook
- from UI.main2 import Ui_Form
- from .openPdf import open_with_system_viewer
- #####################
- from Functions.QtFunctions.LogerinTxt import app_logger
- from Functions.QtFunctions import findServerWidget as FindServerWidget
- from Functions.QtFunctions import addUserWidget as AddUserWidget
- from Functions.QtFunctions import handoverFlightWidget as HandoverFlightWidget
- from Functions.QtFunctions import addFlightWidget as AddFlightWidget
- from Functions.QtFunctions import AddPGWidget as addPGWidget
- from Functions.QtFunctions import changePassword as ChangePassword
- from Functions.QtFunctions import changeAuth as ChangeAuth
- from Functions.QtFunctions import checkLogs as CheckLogs
- from Functions.QtFunctions import localipset as Localipset
- from Functions.QtFunctions import searchpeople_get as Searchpeople_get
- from Functions.QtFunctions import checkCalllist as CheckCalllist
- from Functions.QtFunctions import amroLoginWidget2 as AmroLoginWidget2
- from Functions.QtFunctions import amroLoginWidget as AmroLoginWidget
- from Functions.QtFunctions import LoginWidget as loginWidget
- from Functions.QtFunctions import setlocalip as Setlocalip
- from Functions.QtFunctions import sortdisplaySever as SortdisplaySever
- from Functions.QtFunctions import workloadinfos
- headerlabel0= ["序号","数据序号","备","机号","航班信息","机型","机型信息","发动机","机位","航班号","备","计达","备","预达",
- "备","计飞","备","备","机位","类型","备","放行","备","工1","备","工2","备","工3","备","工4",
- "备","班组长","备","到位","备","放行","备","销夹","电签","随机","备","随机","备","保留","备","工作包",
- "备","进出港城市","备","维修人员","交班人员","放行","备","航班编号","备","任务编号","备","TATD","备","类型",
- "备","附加消息","备","备","备","备"]
- headerlabel_B=["序号", "机号", "机型", "发动机", "航班号", "计达", "预达", "计飞", "机位", "类型", "工作单", "飞单", "客舱单",
- "临工单","AMRO记录", "电签复查", "接机电签", "任务电签", "二送电签", "备", "备", "备", "备", "备", "进出港城市",
- "维修人员", "二送人员","放行", "航班编号", "电签工卡", "备", "类型", "附加消息"]
- versionNumber = "20.0.0"
- 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.debounce_timer = QtCore.QTimer(self)
- self.debounce_timer.setSingleShot(True)
- self.debounce_timer.timeout.connect(self.debounced_search)
- self.debounce_delay = 300 # 防抖延迟时间(毫秒)
- # 新增:防抖定时器
- self.debounce_timer_phone = QtCore.QTimer(self)
- self.debounce_timer_phone.setSingleShot(True)
- self.debounce_timer_phone.timeout.connect(self.debounced_search_phone)
- # 新增:防抖定时器
- self.debounce_timer_deal = QtCore.QTimer(self)
- self.debounce_timer_deal.setSingleShot(True)
- self.debounce_timer_deal.timeout.connect(self.debounced_search_deal)
- # 新增:防抖定时器
- self.debounce_timer_people = QtCore.QTimer(self)
- self.debounce_timer_people.setSingleShot(True)
- self.debounce_timer_people.timeout.connect(self.debounced_search_people)
- # 新增:防抖定时器
- self.debounce_timer_log= QtCore.QTimer(self)
- self.debounce_timer_log.setSingleShot(True)
- self.debounce_timer_log.timeout.connect(self.debounced_search_log)
- 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.LoginWidget()
- self.findServerWidget = FindServerWidget.findServerWidget()
- self.mapWebPage = FindServerWidget.mapWebWidget()
- self.checkCalllist = CheckCalllist.checkCalllist()
- self.checkCalllist.checkCalllist_signal.connect(self.checkCalllistclose)
- if self.findSever:
- pass
- else:
- self.findServerWidget.show()
- self.findServerWidget.selectServer_signal.connect(self.setServer)
- except Exception as e:
- app_logger.log_error(e)
- def setServer(self, *args):
- try:
- #self.ipinfo = args[0] + ':9527'
- self.ipinfo = args[0] + ':7162'
- self.clickrow = ""
- self.clickcolumn = ""
- self.version= versionNumber
- # 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/"+self.version
- 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 as e:
- app_logger.log_error(e)
- def remotelogin(self):
- self.amrologin = AmroLoginWidget.amroLoginWidget()
- self.amrologin.ipinfo = self.ipinfo
- self.amrologin.show()
- def remoteCookielogin(self):
- self.amrologin = AmroLoginWidget2.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 as e:
- app_logger.log_error(e)
- QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员!")
- if res =="ok":
- QMessageBox.warning(self, "提示", "服务器IP电话配置成功,请测试后启用自动拨号!")
- else:
- QMessageBox.warning(self, "警告", "服务器IP电话配置失败,建议重启自动拨号电话后再次配置!")
- else:
- QMessageBox.warning(self, "警告", "程序下未找到指定配置文件!")
- except Exception as e:
- app_logger.log_error(e)
- def setLocalIpPhone(self):
- try:
- self.localipset = Localipset.localipset()
- self.localipset.localipset_signal.connect(self.setLocalIpPhoneip)
- self.localipset.localip = self.localip
- self.localipset.start()
- except Exception as e:
- app_logger.log_error(e)
- def setLocalIpPhoneip(self, *args):
- try:
- self.localip = args[0]
- self.QThreadSortNow("setlocalip")
- self.localipset.close()
- # print(self.localip)
- except Exception as e:
- app_logger.log_error(e)
- def checkCalllistupdate(self):
- try:
- self.checkCalllist.ipinfo = self.ipinfo
- self.checkCalllist.selectedtime = self.selectedtime
- self.checkCalllist.start()
- except Exception as e:
- app_logger.log_error(e)
- def checkCalllistclose(self, *args):
- try:
- reply = args[0]
- # print(reply)
- if reply == "StandardButton.Yes":
- self.checkCalllist.hide()
- except Exception as e:
- app_logger.log_error(e)
- def showcheckLogs(self):
- try:
- self.checkLogs = CheckLogs.checkLogs()
- self.checkLogs.ipinfo = self.ipinfo
- self.checkLogs.start()
- except Exception as e:
- app_logger.log_error(e)
- def showWorkloadinfos(self):
- try:
- self.Workloadinfos = workloadinfos.Workloadinfos()
- self.Workloadinfos.ipinfo = self.ipinfo
- self.Workloadinfos.user = self.user
- self.Workloadinfos.selectedbc =self.selectedbc
- self.Workloadinfos.selectedtime=self.selectedtime
- self.Workloadinfos.start()
- except Exception as e:
- app_logger.log_error(e)
- 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.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.AddPGWidget()
- self.AddPG_signal.connect(self.AddPG.getname)
- self.pushButtonAddPG.clicked.connect(self.AddPG_widget)
- self.displayMode = "A"
- self.displayLabel = headerlabel0
- # self.lineEdit_phonenum.setText("")
- 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.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.on_search_text_deal)
- self.pushButton_searchlog.clicked.connect(self.on_search_text_log)
- 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.on_search_text_changed)
- self.lineEdit_log.textChanged.connect(self.on_search_text_log)
- self.lineEdit_people.textChanged.connect(self.on_search_text_people)
- self.lineEdit_change.textChanged.connect(self.on_search_text_deal)
- self.lineEdit_phonenum.textChanged.connect(self.on_search_text_phone)
- self.serchTimer = QTimer()
- self.serchTimer.start(3 * 1000)
- self.serchTimer.timeout.connect(self.QThreadSortTimer)
- self.updatecheck()
- self.taskAtuoCheck("1")
- except Exception as e:
- app_logger.log_error(e)
- def searchpeople(self):
- try:
- self.searchpeoplelist = Searchpeople_get.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 as e:
- app_logger.log_error(e)
- def searchpeople_get(self, *args):
- try:
- # print(args)
- self.searchpeoplestr = args[0]
- self.QThreadSortNow("people")
- except Exception as e:
- app_logger.log_error(e)
- def disearchpeople(self):
- try:
- self.searchpeoplestr = []
- self.QThreadSortNow("people")
- except Exception as e:
- app_logger.log_error(e)
- 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 as e:
- app_logger.log_error(e)
- QMessageBox.warning(self, "提示", "IP电话连接失败,请重新配置或再登陆!")
- else:
- QMessageBox.warning(self, "提示", "未配置本地IP电话,请先配置!")
- except Exception as e:
- app_logger.log_error(e)
- 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 as e:
- app_logger.log_error(e)
- QMessageBox.warning(self, "提示", "IP电话连接失败,请重新配置或再登陆!")
- else:
- QMessageBox.warning(self, "提示", "未配置本地IP电话,请先配置!")
- except Exception as e:
- app_logger.log_error(e)
- def relogin(self):
- try:
- if self.localip != None:
- self.QThreadSortNow("setlocalip")
- else:
- QMessageBox.warning(self, "提示", "未配置本地IP电话,请先配置!")
- except Exception as e:
- app_logger.log_error(e)
- 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 as e:
- app_logger.log_error(e)
- def debounced_search_phone(self):
- try:
- self.changeonPhone_text = self.lineEdit_phonenum.text()
- self.QThreadSortNow("phone")
- except Exception as e:
- app_logger.log_error(e)
- def on_search_text_changed(self):
- """文本变化时重置定时器"""
- self.debounce_timer.start(self.debounce_delay)
- def on_search_text_deal(self):
- """文本变化时重置定时器"""
- self.debounce_timer_deal.start(self.debounce_delay)
- def on_search_text_people(self):
- """文本变化时重置定时器"""
- self.debounce_timer_people.start(self.debounce_delay)
- def on_search_text_log(self):
- """文本变化时重置定时器"""
- self.debounce_timer_log.start(self.debounce_delay)
- def on_search_text_changed(self):
- """文本变化时重置定时器"""
- self.debounce_timer.start(self.debounce_delay)
- def on_search_text_phone(self):
- """文本变化时重置定时器"""
- self.debounce_timer_phone.start(self.debounce_delay)
- def debounced_search(self):
- """实际触发搜索的方法"""
- self.FLIGHTonChange_text = self.lineEdit_flight.text()
- self.QThreadSortNow("search")
- 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 as e:
- app_logger.log_error(e)
- def debounced_search_people(self):
- try:
- self.peolpleonChange_text = self.lineEdit_people.text()
- self.QThreadSortNow("people")
- except Exception as e:
- app_logger.log_error(e)
- def debounced_search_deal(self):
- try:
- self.changeonChange_text = self.lineEdit_change.text()
- self.QThreadSortNow("change")
- except Exception as e:
- app_logger.log_error(e)
- def debounced_search_log(self):
- try:
- self.logonChange_text = self.lineEdit_log.text()
- self.QThreadSortNow("log")
- except Exception as e:
- app_logger.log_error(e)
- 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 as e:
- app_logger.log_error(e)
- QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
- 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 as e:
- app_logger.log_error(e)
- 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 as e:
- app_logger.log_error(e)
- QMessageBox.warning(self,"日志功能失效", "操作日志功能失效请联系管理员!")
- QMessageBox.warning(self, "警告", "服务器状态变更为未更新,航班数据暂停刷新,请检查服务器端AMRO登录情况或联系管理员!")
- except Exception as e:
- app_logger.log_error(e)
- 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 as e:
- app_logger.log_error(e)
- QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
- self.restartServer(self.ipinfo.split(':')[0],9935)
- def initFlightDatabase(self):
- try:
- ip = "http://" + str(self.ipinfo) + "/static/initFlightDatabase/" + str(self.selectedtime)
- requests.get(url=ip, timeout=30).json()
- except Exception as e:
- app_logger.log_error(e)
- QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
- 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 as e:
- app_logger.log_error(e)
- QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
- 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 as e:
- app_logger.log_error(e)
- QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
- 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 as e:
- app_logger.log_error(e)
- 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 as e:
- app_logger.log_error(e)
- 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 as e:
- app_logger.log_error(e)
- 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 as e:
- app_logger.log_error(e)
- 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 as e:
- app_logger.log_error(e)
- 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 as e:
- app_logger.log_error(e)
- 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 as e:
- app_logger.log_error(e)
- 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 as e:
- app_logger.log_error(e)
- 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 as e:
- app_logger.log_error(e)
- def setUser(self, args):
- try:
- self.user = args[1]
- self.authority = args[3]
- self.label_username.setText(self.user)
- except Exception as e:
- app_logger.log_error(e)
- def AddFlight(self):
- try:
- self.addFlight = AddFlightWidget.addFlightWidget()
- self.addFlight.ipinfo = self.ipinfo
- self.addFlight.user = self.user
- self.addFlight.show()
- except Exception as e:
- app_logger.log_error(e)
- def HandoverFlight(self):
- try:
- self.handoverFlight = HandoverFlightWidget.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 as e:
- app_logger.log_error(e)
- def handoverFlight_update(self, *args):
- try:
- # print(args)
- self.QThreadSortNow("main")
- except Exception as e:
- app_logger.log_error(e)
- def showAdduser(self):
- try:
- self.addUser = AddUserWidget.addUserWidget()
- self.addUser.ipinfo = self.ipinfo
- self.addUser.user = self.user
- self.addUser.authority=self.authority
- self.addUser.show()
- except Exception as e:
- app_logger.log_error(e)
- def showChangePassword(self):
- try:
- self.changePassword = ChangePassword.changePassword()
- self.changePassword.ipinfo = self.ipinfo
- self.changePassword.user = self.user
- self.changePassword.show()
- except Exception as e:
- app_logger.log_error(e)
- def showchangeAuth(self):
- try:
- self.changeAuth = ChangeAuth.changeAuth()
- self.changeAuth.ipinfo = self.ipinfo
- self.changeAuth.user = self.user
- self.changeAuth.start()
- except Exception as e:
- app_logger.log_error(e)
- 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 as e:
- app_logger.log_error(e)
- 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 as e:
- app_logger.log_error(e)
- self.show_message2("警告", "导出失败,确认%s是否被打开或联系管理员!!!")
- 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 = "机位"
- ws.cell(1, 5).value = "进出港触发"
- ws.cell(1, 6).value = "机号"
- 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 as e:
- app_logger.log_error(e)
- 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 as e:
- app_logger.log_error(e)
- self.show_message2("警告", "导出失败,确认%s是否被打开或联系管理员!!!" % fileName)
- 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 = {"序号": "1", "类型": "19", "航班号": "9", "机型": "5", "发动机": "7", "机号": "3", "计达": "11", "预达": "13","计飞": "15", "机位": "8","放行":"21","工1":"23","工2":"25","工3":"27","工4":"29","备注":"61","班组长":"31"}
- 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 as e:
- app_logger.log_error(e)
- self.show_message2("警告", "导出失败,确认%s是否被打开或联系管理员!!!" % fileName)
- 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 as e:
- app_logger.log_error(e)
- self.show_message2("警告", "导出失败,确认%s是否被打开或联系管理员!!!" % fileName)
- 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 as e:
- app_logger.log_error(e)
- self.show_message2("警告", "导出失败,确认%s是否被打开或联系管理员!!!" % fileName)
- ################################################################################################################################################
- 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 as e:
- app_logger.log_error(e)
- 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 as e:
- app_logger.log_error(e)
- QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
- 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 as e:
- app_logger.log_error(e)
- QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
- def show_message2(self, type, str):
- try:
- QMessageBox.warning(self, "%s" % type, "%s" % str)
- except Exception as e:
- app_logger.log_error(e)
- def QThreadSortDispalyTimer(self, name, dict, dict2, seversts, displayMode):
- try:
- if name == "sortTableWidgetDispaly":
- if displayMode == "A":
- self.displayLabel = headerlabel0
- self.tableWidgetFlight.setColumnCount(len(self.displayLabel))
- self.tableWidgetFlight.verticalHeader().setVisible(False)
- self.tableWidgetFlight.setHorizontalHeaderLabels(self.displayLabel)
- elif displayMode == "B":
- self.displayLabel = headerlabel_B
- 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 as e:
- app_logger.log_error(e)
- def QThreadSortDispalyNow(self, name, dict, dict2, seversts, displayMode):
- try:
- if name == "sortTableWidgetDispaly":
- if displayMode == "A":
- self.displayLabel=headerlabel0
- self.tableWidgetFlight.setColumnCount(len(self.displayLabel))
- self.tableWidgetFlight.verticalHeader().setVisible(False)
- self.tableWidgetFlight.setHorizontalHeaderLabels(self.displayLabel)
- else:
- self.displayLabel = headerlabel_B
- 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 = headerlabel0
- self.tableWidgetFlight.setColumnCount(len(self.displayLabel))
- self.tableWidgetFlight.verticalHeader().setVisible(False)
- self.tableWidgetFlight.setHorizontalHeaderLabels(self.displayLabel)
- elif displayMode == "B":
- self.displayLabel =headerlabel_B
- 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 as e:
- app_logger.log_error(e)
- 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 as e:
- app_logger.log_error(e)
- 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 as e:
- app_logger.log_error(e)
- 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.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.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.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.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.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 as e:
- app_logger.log_error(e)
- def QThreadSortNow(self, name):
- try:
- if "main" in str(name) and self.doubleclickLockUpdate == 0:
- # print(datetime.datetime.now())
- th11 = QThread()
- self.sortTableWidgetDispalyThread11 = SortdisplaySever.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.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.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.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.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.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.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.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 as e:
- app_logger.log_error(e)
- 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 as e:
- app_logger.log_error(e)
- 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.displayMode == "B" ) or( (column == 61 or 19 < column < 33) ) and self.displayMode == "A") 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 as e:
- app_logger.log_error(e)
- 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, 53).text()
- flighttype = self.tableWidgetFlight.item(row, 19).text()
- acno = self.tableWidgetFlight.item(row, 5).text()
- flightno = self.tableWidgetFlight.item(row, 9).text()
- bgtype = str(self.displayLabel[column]).replace("/","")
- if column == 61 and self.olditem != self.newitem:
- 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 as e:
- app_logger.log_error(e)
- QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
- elif 19 < column < 33 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 == 21 and "3U" not in str(flightno) and "CSC" not in str(flightno):
- ####需要加一把锁,有功能开关调用
- airplanetype=self.tableWidgetFlight.item(row, 5).text()
- engtype=self.tableWidgetFlight.item(row, 7).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 as e:
- app_logger.log_error(e)
- QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
- except Exception as e:
- app_logger.log_error(e)
- 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, "提示", "服务器连接超时,请联系管理员检查服务器!")
- elif res["返回值"] == "OK" and self.maintainAuthCheckSts == 1 and text != "清空项目12345678987654321" and column != 21 and "3U" not in str(flightno) and "CSC" not in str(flightno):
- ipp = "http://" + str(self.ipinfo) + "/static/maintainAuthCheck/%s/%s" % (text, "CZQW")
- 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 as e:
- app_logger.log_error(e)
- QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
- except Exception as e:
- 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, "提示", "服务器连接超时,请联系管理员检查服务器!")
- app_logger.log_error(e)
- elif (res["返回值"] == "OK" and (self.maintainAuthCheckSts == 0 or "3U" in str(flightno) or "CSC" in str(flightno))) or text == "清空项目12345678987654321":
- 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 as e:
- QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
- app_logger.log_error(e)
- 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 as e:
- 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, "提示", "服务器连接超时,请联系管理员检查服务器!")
- app_logger.log_error(e)
- 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 as e:
- 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)
- app_logger.log_error(e)
- 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 as e:
- QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
- app_logger.log_error(e)
- 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 as e:
- QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
- app_logger.log_error(e)
- 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=300).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 as e:
- QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
- app_logger.log_error(e)
- 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 as e:
- 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, "提示", "服务器连接超时,请联系管理员检查服务器!")
- app_logger.log_error(e)
- self.doubleclickLockUpdate = 0
- self.doubleclickLock = 0
- self.tableWidgetFlight.cellChanged.disconnect(self.cellchanged)
- self.QThreadSortNow("main")
- except Exception as e:
- 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)
- app_logger.log_error(e)
- 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 as e:
- app_logger.log_error(e)
- 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 as e:
- app_logger.log_error(e)
- 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 as e:
- self.show_info("警告", "拨号失败,请检查IP后重新配置或联系管理员!")
- app_logger.log_error(e)
- else:
- self.show_info("警告", "使用前请配置IP电话!")
- return
- except Exception as e:
- app_logger.log_error(e)
- def generateMenu2(self, pos):
- try:
- for i in self.tableWidgetPerson.selectionModel().selection().indexes():
- menu = QMenu()
- 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 as e:
- app_logger.log_error(e)
- # '''
- return
- else:
- return
- except Exception as e:
- app_logger.log_error(e)
- 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,acno):
- if "送" in flighttype or flighttype == "航前":
- type="出港提示"
- else:
- type = "进港提示"
- res=""
- try:
- ip = "http://" + str(self.ipinfo) + "/static/getRiskData/" + "%s/" % bay + "%s/" % type + "%s" % acno
- res=requests.get(url=ip, timeout=30).json()["返回值"]
- except Exception as e:
- app_logger.log_error(e)
- 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():
- 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, 3).text()
- flightno = self.tableWidgetFlight.item(rowIndex, 9).text()
- qw1 = self.tableWidgetFlight.item(rowIndex, 23).text().replace("!", "") if "!" in self.tableWidgetFlight.item(rowIndex, 23).text() else self.tableWidgetFlight.item(rowIndex, 23).text()
- qw2 = self.tableWidgetFlight.item(rowIndex, 25).text().replace("!", "") if "!" in self.tableWidgetFlight.item(rowIndex, 25).text() else self.tableWidgetFlight.item(rowIndex, 25).text()
- g1 = self.tableWidgetFlight.item(rowIndex, 27).text().replace("!", "") if "!" in self.tableWidgetFlight.item(rowIndex, 27).text() else self.tableWidgetFlight.item(rowIndex, 27).text()
- g2 = self.tableWidgetFlight.item(rowIndex, 29).text().replace("!", "") if "!" in self.tableWidgetFlight.item(rowIndex, 29).text() else self.tableWidgetFlight.item(rowIndex, 29).text()
- fx = self.tableWidgetFlight.item(rowIndex, 21).text().replace("!", "") if "!" in self.tableWidgetFlight.item(rowIndex, 21).text() else self.tableWidgetFlight.item(rowIndex, 21).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, 61).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, 53).text()) != "" and "MAN" not in str(self.tableWidgetFlight.item(rowIndex, 53).text()) and str(self.tableWidgetFlight.item(rowIndex, 55).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, 55).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 as e:
- app_logger.log_error(e)
- 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 as e:
- app_logger.log_error(e)
- 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, 49).text() !="" and "【交班航班】" not in fj and \
- ("3U" in self.tableWidgetFlight.item(rowIndex, 9).text() or "CSC" in self.tableWidgetFlight.item(rowIndex, 9).text()):
- relay = QMessageBox.warning(self, "警告", "是否确定要对B-%s,%s进行工作交接?"%(acno,self.tableWidgetFlight.item(rowIndex, 9).text()),
- QMessageBox.StandardButton.Yes,
- QMessageBox.StandardButton.Close)
- if relay == QMessageBox.StandardButton.Yes:
- data = {"taskid": self.tableWidgetFlight.item(rowIndex, 53).text(),"sts": "1"}
- res = self.severpostData_nomeassge("handoverflight", data=data)["返回值"]
- if res == "ok":
- flightid = self.tableWidgetFlight.item(rowIndex, 53).text()
- flighttype = self.tableWidgetFlight.item(rowIndex, 19).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 as e:
- QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
- app_logger.log_error(e)
- self.QThreadSortNow("main")
- QMessageBox.warning(self, "提示", "B-%s,%s工作交接推送成功"%(acno,self.tableWidgetFlight.item(rowIndex, 9).text()))
- else:
- QMessageBox.warning(self, "警告", "航班交接失败,请重新尝试")
- elif "【交班航班】" in fj:
- QMessageBox.warning(self, "提示", "该航班已交接,请勿重复交接!")
- elif "3U" not in self.tableWidgetFlight.item(rowIndex, 9).text() and "CSC" not in self.tableWidgetFlight.item(rowIndex, 9).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, 53).text()):
- ip = "http://" + str(self.ipinfo) + "/static/" + "deleteFlight/" + "%s/%s/%s" % (
- self.tableWidgetFlight.item(rowIndex, 53).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 as e:
- app_logger.log_error(e)
- 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, 53).text()) != "" and "MAN" not in str(self.tableWidgetFlight.item(rowIndex, 53).text()) and str(self.tableWidgetFlight.item(rowIndex, 55).text()) != "":
- taskid = self.tableWidgetFlight.item(rowIndex, 55).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","航班号":"9","附加消息":"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, 9).text()
- flighttype = self.tableWidgetFlight.item(rowIndex, 19).text()
- flightids = str(self.tableWidgetFlight.item(rowIndex, 55).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, 19).text(),
- "/%s" % self.tableWidgetFlight.item(rowIndex, 53).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 as e:
- app_logger.log_error(e)
- 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, 53).text()) != "" and "MAN" not in str(
- self.tableWidgetFlight.item(rowIndex, 53).text()) and str(self.tableWidgetFlight.item(rowIndex, 55).text()) != "":
- empNos = self.severpostData_nomeassge("get_empNos", dict_people)
- if empNos["code"] != "fail":
- res = self.LM_TSK_SURE_PG_NOW(self.tableWidgetFlight.item(rowIndex, 55).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 as e:
- app_logger.log_error(e)
- 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, 53).text()) != "" and "MAN" not in str(self.tableWidgetFlight.item(rowIndex, 53).text()) and str(self.tableWidgetFlight.item(rowIndex, 55).text()) != "":
- empNos = self.severpostData_nomeassge("get_empNos", dict_people)
- if empNos["code"] != "fail":
- res = self.LM_TSK_SURE_PG_NOW(self.tableWidgetFlight.item(rowIndex, 55).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 as e:
- app_logger.log_error(e)
- 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 as e:
- app_logger.log_error(e)
- 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, 53).text()) != "" and "MAN" not in str(
- self.tableWidgetFlight.item(rowIndex, 53).text()) and str(self.tableWidgetFlight.item(rowIndex, 55).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, 19).text(), acno)
- risktips=f"【风险提示】{res}" if res != "" else ""
- msgInfo="进港维修任务保障推送!%s%s" % (fj,risktips)
- res= self.send_dingdong(acno,self.tableWidgetFlight.item(rowIndex, 5).text(),
- self.tableWidgetFlight.item(rowIndex, 59).text(),
- "进" +self.tableWidgetFlight.item(rowIndex, 57).text().split("</br>")[0] + ",出" +self.tableWidgetFlight.item(rowIndex, 57).text().split("</br>")[1],
- self.tableWidgetFlight.item(rowIndex, 8).text(),self.tableWidgetFlight.item(rowIndex, 55).text(),
- empNos["WXempNos"],"",empNos["WX"],empNos["FX"],"",msgInfo)
- if res != "ok":
- self.show_info("失败提示", "%s维修人员%s派工信息推送失败!" % (acno, 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 as e:
- app_logger.log_error(e)
- QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
- self.severpost_nomeassge("infoConfirm2", "/%s" % self.tableWidgetFlight.item(rowIndex, 19).text(),"/%s" % self.tableWidgetFlight.item(rowIndex,53).text(),"/%s" % self.displayMode, "/%s" % self.selectedtime)
- self.show_info("成功提示", "%s维修人员%s派工信息推送成功!!!" % (acno, 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 as e:
- app_logger.log_error(e)
- 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, 53).text()) != "" and "MAN" not in str(
- self.tableWidgetFlight.item(rowIndex, 53).text())and str(self.tableWidgetFlight.item(rowIndex, 55).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, 19).text(), acno)
- risktips=f"\n 【风险提示】:{res}" if res !="" else ""
- msgInfo="放行人员保障推送!%s%s" % (fj,risktips)
- res= self.send_dingdong(acno,self.tableWidgetFlight.item(rowIndex, 5).text(),
- self.tableWidgetFlight.item(rowIndex, 59).text(),
- "进" +self.tableWidgetFlight.item(rowIndex, 57).text().split("</br>")[0] + ",出" +self.tableWidgetFlight.item(rowIndex, 57).text().split("</br>")[1],
- self.tableWidgetFlight.item(rowIndex, 8).text(),self.tableWidgetFlight.item(rowIndex, 55).text(),
- "", empNos["FXempNos"],empNos["WX"],empNos["FX"],"",msgInfo)
- if res != "ok":
- self.show_info("失败提示", "%s放行人员%s派工信息推送失败!" % (
- acno, 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 as e:
- app_logger.log_error(e)
- QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
- self.show_info("成功提示", "%s放行人员%s派工信息推成功!!!" % (
- acno, empNos["FX"]))
- self.severpost_nomeassge("infoConfirm2","/%s" % self.tableWidgetFlight.item(rowIndex, 19).text(),
- "/%s" % self.tableWidgetFlight.item(rowIndex,53).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 as e:
- app_logger.log_error(e)
- 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, 53).text()) != "" and "MAN" not in str(
- self.tableWidgetFlight.item(rowIndex, 53).text())and str(self.tableWidgetFlight.item(rowIndex, 55).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, 19).text(), acno)
- risktips = f"\n 【风险提示】:{res}" if res != "" else ""
- msgInfo = "二次送机任务推送!%s%s" % (fj, risktips)
- res= self.send_dingdong(acno,self.tableWidgetFlight.item(rowIndex, 5).text(),
- self.tableWidgetFlight.item(rowIndex, 59).text(),
- "进" +self.tableWidgetFlight.item(rowIndex, 57).text().split("</br>")[0] + ",出" +self.tableWidgetFlight.item(rowIndex, 57).text().split("</br>")[1],
- self.tableWidgetFlight.item(rowIndex, 8).text(),self.tableWidgetFlight.item(rowIndex, 55).text(),
- empNos["ESempNos"], "",empNos["WX"],empNos["FX"],empNos["ES"],msgInfo)
- if res != "ok":
- self.show_info("失败提示", "%s二次送机人员%s派工信息推送失败!" % (
- acno, 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 as e:
- app_logger.log_error(e)
- QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
- self.show_info("成功提示", "%s二次送机人员%s派工信息推送成功!!!" % (
- acno, empNos["ES"]))
- self.severpost_nomeassge("infoConfirm2","/%s" % self.tableWidgetFlight.item(rowIndex, 19).text(),
- "/%s" % self.tableWidgetFlight.item(rowIndex,53).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 as e:
- app_logger.log_error(e)
- 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, 19).text(),
- "/%s" % self.tableWidgetFlight.item(rowIndex, 53).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 as e:
- app_logger.log_error(e)
- QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
- self.QThreadSortNow("main")
- return
- elif action == item8:
- self.severpost_nomeassge("manChangests",
- "/%s" % self.tableWidgetFlight.item(rowIndex, 53).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 as e:
- app_logger.log_error(e)
- 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, 53).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 as e:
- app_logger.log_error(e)
- 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, 53).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 as e:
- app_logger.log_error(e)
- 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, 53).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 as e:
- app_logger.log_error(e)
- 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, 53).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 as e:
- app_logger.log_error(e)
- QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
- self.QThreadSortNow("main")
- self.QThreadSortNow("change")
- self.QThreadSortNow("log")
- return
- elif action == item13:
- msg = {}
- if str(self.tableWidgetFlight.item(rowIndex, 53).text()) != "" and "MAN" not in str(self.tableWidgetFlight.item(rowIndex, 53).text())and str(self.tableWidgetFlight.item(rowIndex, 55).text()) != "":
- if self.tableWidgetFlight.item(rowIndex, 19).text() != "短停送" and self.tableWidgetFlight.item(rowIndex, 19).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, 55).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 as e:
- app_logger.log_error(e)
- 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 as e:
- app_logger.log_error(e)
- QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
- except:
- pass
- try:
- if empNos["code"] != "fail":
- res = self.LM_TSK_SURE_PG_NOW(self.tableWidgetFlight.item(rowIndex, 55).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 as e:
- app_logger.log_error(e)
- 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 as e:
- app_logger.log_error(e)
- 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, 19).text(), acno)
- risktips = f"\n 【风险提示】:{res}" if res != "" else ""
- msgInfo = "进港维修任务保障推送!%s%s" % (fj, risktips)
- res= self.send_dingdong(acno,self.tableWidgetFlight.item(rowIndex, 5).text(),
- self.tableWidgetFlight.item(rowIndex, 59).text(),
- "进" +self.tableWidgetFlight.item(rowIndex, 57).text().split("</br>")[0] + ",出" +self.tableWidgetFlight.item(rowIndex, 57).text().split("</br>")[1],
- self.tableWidgetFlight.item(rowIndex, 8).text(),self.tableWidgetFlight.item(rowIndex, 55).text(),empNos["WXempNos"],"",empNos["WX"],empNos["FX"],"",msgInfo)
- if res == "ok":
- msg["cc"] = "%s维修人员%s派工信息推送成功!!!" % (acno, empNos["WX"])
- self.severpost_nomeassge("infoConfirm2","/%s" % self.tableWidgetFlight.item(rowIndex, 19).text(),"/%s" % self.tableWidgetFlight.item(rowIndex,53).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 as e:
- app_logger.log_error(e)
- 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 as e:
- app_logger.log_error(e)
- QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
- except Exception as e:
- app_logger.log_error(e)
- 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, 19).text(), acno)
- risktips = f"\n 【风险提示】:{res}" if res != "" else ""
- msgInfo = "放行任务保障信息!%s%s" % (fj, risktips)
- res= self.send_dingdong(acno,self.tableWidgetFlight.item(rowIndex, 5).text(),
- self.tableWidgetFlight.item(rowIndex, 59).text(),
- "进" +self.tableWidgetFlight.item(rowIndex, 57).text().split("</br>")[0] + ",出" +self.tableWidgetFlight.item(rowIndex, 57).text().split("</br>")[1],
- self.tableWidgetFlight.item(rowIndex, 8).text(),self.tableWidgetFlight.item(rowIndex, 55).text(),
- "", empNos["FXempNos"],empNos["WX"],empNos["FX"],"",msgInfo)
- if res == "ok":
- msg["dd"] = "%s放行人员%s派工信息推成功!!!" % (
- acno, empNos["FX"])
- self.severpost_nomeassge("infoConfirm2","/%s" % self.tableWidgetFlight.item(rowIndex, 19).text(),"/%s" % self.tableWidgetFlight.item(rowIndex,53).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 as e:
- app_logger.log_error(e)
- 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 as e:
- app_logger.log_error(e)
- 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, 55).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 as e:
- app_logger.log_error(e)
- 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 as e:
- app_logger.log_error(e)
- 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, 19).text(),acno)
- risktips = f"\n 【风险提示】:{res}" if res != "" else ""
- msgInfo = "放行任务保障信息!%s%s" % (fj, risktips)
- res= self.send_dingdong(acno,self.tableWidgetFlight.item(rowIndex, 5).text(),
- self.tableWidgetFlight.item(rowIndex, 59).text(),
- "进" +self.tableWidgetFlight.item(rowIndex, 57).text().split("</br>")[0] + ",出" +self.tableWidgetFlight.item(rowIndex, 57).text().split("</br>")[1],
- self.tableWidgetFlight.item(rowIndex, 8).text(),self.tableWidgetFlight.item(rowIndex, 55).text(),
- "", empNos["FXempNos"],empNos["WX"],empNos["FX"],"",msgInfo)
- if res == "ok":
- msg["dd"] = "%s放行人员%s派工信息推成功!!!" % (
- acno, empNos["FX"])
- self.severpost_nomeassge("infoConfirm2","/%s" % self.tableWidgetFlight.item(rowIndex, 19).text(),"/%s" % self.tableWidgetFlight.item(rowIndex,53).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 as e:
- app_logger.log_error(e)
- 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 as e:
- app_logger.log_error(e)
- QMessageBox.warning(self, "日志功能失效", "操作日志功能失效请联系管理员!")
- except:
- pass
- # print(empNos)
- if empNos["code"] != "fail":
- res = self.LM_TSK_SURE_PG_NOW(self.tableWidgetFlight.item(rowIndex, 55).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 as e:
- app_logger.log_error(e)
- 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, 19).text(),acno)
- risktips = f"\n 【风险提示】:{res}" if res != "" else ""
- msgInfo = "二次送机任务推送!%s%s" % (fj, risktips)
- res= self.send_dingdong(acno,self.tableWidgetFlight.item(rowIndex, 5).text(),
- self.tableWidgetFlight.item(rowIndex, 59).text(),
- "进" +self.tableWidgetFlight.item(rowIndex, 57).text().split("</br>")[0] + ",出" +self.tableWidgetFlight.item(rowIndex, 57).text().split("</br>")[1],
- self.tableWidgetFlight.item(rowIndex, 8).text(),self.tableWidgetFlight.item(rowIndex, 55).text(),
- empNos["ESempNos"], "",empNos["WX"],empNos["FX"],empNos["ES"],msgInfo)
- if res == "ok":
- msg["ff"] = "%s二次送机人员%s派工信息推送成功!!!" % (
- acno, empNos["ES"])
- self.severpost_nomeassge("infoConfirm2","/%s" % self.tableWidgetFlight.item(rowIndex, 19).text(),
- "/%s" % self.tableWidgetFlight.item(rowIndex,53).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 as e:
- app_logger.log_error(e)
- 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 as e:
- app_logger.log_error(e)
- 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 as e:
- app_logger.log_error(e)
- elif self.displayMode=="B":
- for i in self.tableWidgetFlight.selectionModel().selection().indexes():
- rowIndex = i.row()
- colnum = self.tableWidgetFlight.columnCount()
- flightids = self.tableWidgetFlight.item(rowIndex, colnum - 5).text()
- flighttype = self.tableWidgetFlight.item(rowIndex, 9).text()
- jjdq = self.tableWidgetFlight.item(rowIndex, 16).text()
- hbdq = self.tableWidgetFlight.item(rowIndex, 17).text()
- esdq= self.tableWidgetFlight.item(rowIndex, 18).text()
- dqfile= self.tableWidgetFlight.item(rowIndex, 29).text()
- menu = QMenu()
- item1 = menu.addAction("工作单确认检查")
- if "√" in jjdq:
- item2 = menu.addAction("查看接机电签")
- else:
- item2 = ""
- if "√" in hbdq:
- item3 = menu.addAction("查看航班电签")
- else:
- item3 = ""
- if "√" in esdq:
- item4 = menu.addAction("查看送机电签")
- else:
- item4 = ""
- screenPos = self.tableWidgetFlight.mapToGlobal(pos)
- action = menu.exec(screenPos)
- 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 as e:
- QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
- app_logger.log_error(e)
- self.QThreadSortNow("main")
- return
- elif action == item2:
- dqlist=dqfile.split(",")
- result = [str(num) for num in dqlist if 'ARRIVAL-SERVICE' in str(num)]
- # 构建请求参数
- params = {"path": result}
- # 发送GET请求
- response = requests.get("http://" + str(self.ipinfo) + "/static/checkjobcard", params=params).content
- open_with_system_viewer(response)
- return
- elif action == item3:
- dqlist=dqfile.split(",")
- result = [str(num) for num in dqlist if 'ARRIVAL-SERVICE' not in str(num) and 'DEPARTURE-SERVICE' not in str(num)]
- # 构建请求参数
- params = {"path": result}
- # 发送GET请求
- response = requests.get("http://" + str(self.ipinfo) + "/static/checkjobcard", params=params).content
- open_with_system_viewer(response)
- return
- elif action == item4:
- dqlist=dqfile.split(",")
- result = [str(num) for num in dqlist if 'DEPARTURE-SERVICE' not in str(num)]
- # 构建请求参数
- params = {"path": result}
- # 发送GET请求
- response = requests.get("http://" + str(self.ipinfo) + "/static/checkjobcard", params=params).content
- open_with_system_viewer(response)
- return
- else:
- 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 as e:
- app_logger.log_error(e)
- def tableWidgetPeopleDisplay(self):
- try:
- peopleLabel = ["序号", "姓名", "角色", "授权"]
- col = len(peopleLabel)
- diplaylist = self.sortdiplaylist
- self.tableWidgetPerson.setRowCount(len(diplaylist.keys()))
- 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)))
- else:
- self.tableWidgetPerson.setItem(int(row), colNum,QTableWidgetItem(diplaylist[row][peopleLabel[colNum]]))
- self.tableWidgetPerson.item(int(row), colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
- if colNum == 3:
- self.tableWidgetPerson.item(int(row), 3).setToolTip("%s" % (str(diplaylist[row][peopleLabel[colNum]])))
- self.tableWidgetPerson.resizeColumnsToContents()
- self.tableWidgetPerson.setWordWrap(True)
- self.tableWidgetPerson.setColumnWidth(3, 125)
- except Exception as e:
- app_logger.log_error(e)
- def enter_item_slot(self, item):
- try:
- self.tool_tip = item.text()
- except Exception as e:
- app_logger.log_error(e)
- 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 == 13:
- self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(colNum)])))
- elif colNum == 15:
- self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(colNum)])))
- elif colNum == 18:
- 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"))
- if "自滑机位" not in tableWidgetDispalydata[row][str(61)]:
- flightid = tableWidgetDispalydata[row][str(53)]
- # print(flightid)
- flighttype = tableWidgetDispalydata[row]["19"]
- fjxx = "自滑机位;" + str(tableWidgetDispalydata[row][str(61)])
- 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 as e:
- QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
- app_logger.log_error(e)
- if self.displayMode =="A":
- for colNum2 in (21, 23, 25, 27, 29):
- if tableWidgetDispalydata[row][str(colNum2)] != "" and "*" not in str(tableWidgetDispalydata[row][str(colNum2)]):
- self.severpost_nomeassge("selftaxiLogs", "/%s请通知%s,%s为自滑位,注意特殊机位保障要求!" % (tableWidgetDispalydata[row]["5"], tableWidgetDispalydata[row][str(colNum2)],
- tableWidgetDispalydata[row]["8"]),"/%s" % tableWidgetDispalydata[row][str(53)], "","")
- self.severpost_nomeassge("infoConfirm3","/%s" % tableWidgetDispalydata[row][str(19)],"/%s" % tableWidgetDispalydata[row][str(53)],
- "/%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"])))
- font = QFont()
- # font.setFamily("SimHei")
- font.setFamily("Microsoft YaHei")
- font.setBold(True)
- self.tableWidgetFlight.item(int(row), colNum).setFont(font)
- elif colNum == 19:
- 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")))
- font = QFont()
- 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"])))
- elif 19 < colNum < 31:
- 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"])))
- if tableWidgetDispalydata[row][str(colNum)] != "" and "√" not in 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"))
- elif colNum == 61:
- 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"))
- font = QFont()
- 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"])))
- font = QFont()
- 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 (21, 23, 25, 27, 29):
- if tableWidgetDispalydata[row][str(colNum2)] != "":
- self.severpost_nomeassge("selftaxiLogs","/%s请通知%s,%s二拖机位目的机位为自滑位,注意特殊机位保障要求!" % (
- tableWidgetDispalydata[row]["5"],tableWidgetDispalydata[row][str(colNum2)],
- tableWidgetDispalydata[row]["8"]),"/%s" % tableWidgetDispalydata[row][str(53)], "", "")
- elif colNum == 49:
- self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(colNum)])))
- if tableWidgetDispalydata[row][str(colNum)] != "":
- for i in tableWidgetDispalydata[row][str(colNum)].split(","):
- if "√" not in i:
- self.tableWidgetFlight.item(int(row), colNum).setBackground(QColor("yellow"))
- self.tableWidgetFlight.item(int(row), colNum).setForeground(QColor("black"))
- break
- else:
- self.tableWidgetFlight.item(int(row), colNum).setBackground(QColor(str(tableWidgetDispalydata[row]["99"])))
- self.tableWidgetFlight.item(int(row), colNum).setForeground(QColor(str(tableWidgetDispalydata[row]["101"])))
- else:
- self.tableWidgetFlight.item(int(row), colNum).setBackground(QColor(str(tableWidgetDispalydata[row]["99"])))
- self.tableWidgetFlight.item(int(row), colNum).setForeground(QColor(str(tableWidgetDispalydata[row]["101"])))
- elif colNum == 51:
- self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(colNum)])))
- if tableWidgetDispalydata[row][str(colNum)] != "" and "√" not in tableWidgetDispalydata[row][str(colNum)]:
- self.tableWidgetFlight.item(int(row), colNum).setBackground(QColor("yellow"))
- self.tableWidgetFlight.item(int(row), colNum).setForeground(QColor("black"))
- else:
- self.tableWidgetFlight.item(int(row), colNum).setBackground(QColor(str(tableWidgetDispalydata[row]["99"])))
- self.tableWidgetFlight.item(int(row), colNum).setForeground(QColor(str(tableWidgetDispalydata[row]["101"])))
- elif 0 < colNum < 11:
- self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(colNum)])))
- elif colNum == 0:
- self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(str(int(row)+1)))
- else:
- self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem( str(tableWidgetDispalydata[row][str(colNum)])))
- if colNum not in [18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,49,51, 61]:
- self.tableWidgetFlight.item(int(row), colNum).setBackground(QColor(str(tableWidgetDispalydata[row]["99"])))
- self.tableWidgetFlight.item(int(row), colNum).setForeground(QColor(str(tableWidgetDispalydata[row]["101"])))
- if colNum not in [4 , 6]:
- self.tableWidgetFlight.item(int(row), colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
- else:
- self.tableWidgetFlight.item(int(row), colNum).setTextAlignment(Qt.AlignmentFlag.AlignTop | Qt.AlignmentFlag.AlignCenter)
- self.tableWidgetFlight.setRowHeight(int(row), 35)
- if self.displayMode == "A":
- settips={0:"53",4:"62",49:"50",19:"47",11:"57",13:"57",15:"57",45:"45",61:"61",6:"17",38:"40",}
- for key,value in settips.items():
- if self.tableWidgetFlight.item(int(row), key):
- if key not in [11,13,15]:
- self.tableWidgetFlight.item(int(row), key).setToolTip("%s" % (str(tableWidgetDispalydata[row][str(value)])))
- else:
- self.tableWidgetFlight.item(int(row), key).setToolTip("%s" % (str(tableWidgetDispalydata[row][str(value)].replace("</br>", "\n"))))
- else:
- self.tableWidgetFlight.item(int(row), 0).setToolTip("[%s,%s]" % ( str(tableWidgetDispalydata[row][str(col - 5)]),str(tableWidgetDispalydata[row][str(col - 4)])))
- for ii in range (1,4):
- try:
- self.tableWidgetFlight.item(int(row), ii).setToolTip("%s" % str(tableWidgetDispalydata[row][str(24)]))
- except Exception:
- pass
- if self.displayMode == "A":
- self.tableWidgetFlight.resizeColumnsToContents()
- self.tableWidgetFlight.setWordWrap(True)
- for i in range(col):
- if i in [1,2,3,5,7,8,9,10,12,14,16,17,20,22,24,26,28,30,32,34,36,39,40,42,43,44,46,47,48,50,52,53,54,55,56,57,58,59,60,62,63,64,65]:
- self.tableWidgetFlight.setColumnHidden(i, True)
- else:
- self.tableWidgetFlight.setColumnHidden(i, False)
- if i in [21, 23, 25, 27, 29, 31]:
- self.tableWidgetFlight.setColumnWidth(i, 70)
- elif i in [45]:
- self.tableWidgetFlight.setColumnWidth(i, 45)
- else:
- for i in range(col):
- if i in [col - 9, col - 11, col - 12, 19, 20, 21, 22, 23, 28, 29, 30, 31]:
- self.tableWidgetFlight.setColumnHidden(i, True)
- else:
- self.tableWidgetFlight.setColumnHidden(i, False)
- 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)
- #self.tableWidgetFlight.resizeRowsToContents()
- # print("刷新结束")
- # print(datetime.datetime.now() - dateNow)
- except Exception as e:
- app_logger.log_error(e)
- def on_completer_activated(self, text):
- try:
- if text:
- index = self.comboBox.findText(text)
- self.comboBox.setCurrentIndex(index)
- except Exception as e:
- app_logger.log_error(e)
- 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 as e:
- app_logger.log_error(e)
- 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 as e:
- app_logger.log_error(e)
- def update_pglistA(self, text):
- try:
- self.severpost_nomeassge("getPglist", "A", "", "", "")
- except Exception as e:
- app_logger.log_error(e)
- def update_pglistB(self, text):
- try:
- self.severpost_nomeassge("getPglist", "B", "", "", "")
- except Exception as e:
- app_logger.log_error(e)
- if __name__ == '__main__':
- app = QApplication(sys.argv)
- mw = MainWidget()
- sys.exit(app.exec())
|