123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- from .LogerinTxt import app_logger
- from UI.handoverFlight import Ui_handoverFlight
- from PyQt6 import QtCore
- from PyQt6.QtCore import Qt
- from PyQt6.QtGui import QColor
- from PyQt6.QtWidgets import QWidget,QMessageBox, QTableWidgetItem
- import json
- import requests
- class handoverFlightWidget(Ui_handoverFlight, QWidget):
- handoverFlight_signal = QtCore.pyqtSignal(str)
- def __init__(self, parent=None):
- super().__init__(parent)
- try:
- self.setupUi(self)
- self.pushButton.clicked.connect(self.btn)
- self.user = None
- self.ipinfo = None
- self.selectedtime=None
- self.Allflight = {}
- except Exception as e:
- app_logger.log_error(e)
- def severpostData_nomeassge(self, postname, data: dict):
- try:
- ip = "http://" + str(self.ipinfo) + "/static/" + str(postname)
- data = json.dumps(data)
- res = requests.post(url=ip, data=data, timeout=30).json()
- return res
- except Exception as e:
- QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
- app_logger.log_error(e)
- def btn(self):
- try:
- list = []
- sts=[]
- list_cz = []
- sts_cz = []
- rows=[]
- for row in range(self.tableWidgetFlight.rowCount()):
- item = self.tableWidgetFlight.item(row, 0)
- if item and item.checkState() == Qt.CheckState.Checked and self.tableWidgetFlight.item(row, 8).text() != "":
- name = self.tableWidgetFlight.item(row, 10).text()
- rows.append(row)
- list.append(name)
- sts.append("1")
- data = {"taskid": ','.join(list),
- "sts": ','.join(sts)}
- if list !=[]:
- res = self.severpostData_nomeassge("handoverflightAMRO", data=data)["返回值"]
- if res == "ok" :
- QMessageBox.warning(self, "提示", f"交班提交成功!请核对附加消息交班航班!")
- for ii in rows:
- try:
- if "【交班航班】" not in self.tableWidgetFlight.item(ii, 11).text() and self.tableWidgetFlight.item(ii, 8).text() != "":
- flightid = self.tableWidgetFlight.item(ii, 12).text()
- flighttype = self.tableWidgetFlight.item(ii, 7).text()
- fjxx = "【交班航班】" + self.tableWidgetFlight.item(ii, 11).text()
- ip = "http://" + str(self.ipinfo) + "/static/updateEidteItem/" + "%s/" % str(fjxx) + "%s/" % str(flightid) + "A/%s/" % str(flighttype) + "%s" % str(self.selectedtime)
- try:
- requests.get(url=ip, timeout=30).json()
- self.handoverFlight_signal.emit("1")
- except Exception as e:
- QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
- app_logger.log_error(e)
- except Exception as e:
- app_logger.log_error(e)
- self.close()
- else:
- QMessageBox.warning(self, "警告", "航班交接失败,请重新尝试")
- else:
- QMessageBox.warning(self, "警告", "请选择要交接的航班!未进行派工的航班无法进行交接班")
- except Exception as e:
- app_logger.log_error(e)
- def start(self):
- try:
- self.show()
- peopleLabel = ["选择","序号", "机号","航班号", "预达", "计飞", "机位", "类型", "维修人员","放行", "任务编号","附加消息","航班编号" ]
- #tableWidgetDispalydata = self.Allflight
- tableWidgetDispalydata={}
- for key, values in self.Allflight.items():
- # 检查所有字段是否包含关键词
- if(('3U' in values["9"] or "CSC" in values["9"]) and values["49"] != "" and "【交班航班】" not in values["30"]):
- tableWidgetDispalydata[key] = values
- self.tableWidgetFlight.setColumnCount(len(peopleLabel))
- self.tableWidgetFlight.setHorizontalHeaderLabels(peopleLabel)
- self.tableWidgetFlight.verticalHeader().setVisible(False)
- self.tableWidgetFlight.setRowCount(len(tableWidgetDispalydata))
- i = 0
- for row in tableWidgetDispalydata.keys():
- if ("3U" in tableWidgetDispalydata[row][str(9)] or "CSC" in tableWidgetDispalydata[row][str(9)]) and \
- tableWidgetDispalydata[row][str(49)] != "" and "【交班航班】" not in tableWidgetDispalydata[row][str(30)]:
- for colNum in range(0, 13):
- if colNum == 0:
- checkbox = QTableWidgetItem()
- checkbox.setCheckState(Qt.CheckState.Unchecked)
- self.tableWidgetFlight.setItem(i, colNum, checkbox)
- self.tableWidgetFlight.item(i, colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
- elif colNum == 1:
- self.tableWidgetFlight.setItem(i, colNum, QTableWidgetItem(str(i+1)))
- self.tableWidgetFlight.item(i, colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
- elif colNum == 2:
- self.tableWidgetFlight.setItem(i, colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(3)])))
- self.tableWidgetFlight.item(i, colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
- elif colNum == 3:
- self.tableWidgetFlight.setItem(i, colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(9)])))
- self.tableWidgetFlight.item(i, colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
- elif colNum == 4:
- self.tableWidgetFlight.setItem(i, colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(13)])))
- self.tableWidgetFlight.item(i, colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
- elif colNum == 5:
- self.tableWidgetFlight.setItem(i, colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(15)])))
- self.tableWidgetFlight.item(i, colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
- elif colNum == 6:
- self.tableWidgetFlight.setItem(i, colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(8)])))
- self.tableWidgetFlight.item(i, colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
- elif colNum == 7:
- self.tableWidgetFlight.setItem(i, colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(19)])))
- self.tableWidgetFlight.item(i, colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
- elif colNum == 8:
- self.tableWidgetFlight.setItem(i, colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(49)])))
- self.tableWidgetFlight.item(i, colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
- elif colNum == 9:
- self.tableWidgetFlight.setItem(i, colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(51)])))
- self.tableWidgetFlight.item(i, colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
- elif colNum == 10:
- self.tableWidgetFlight.setItem(i, colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(53)])))
- self.tableWidgetFlight.item(i, colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
- elif colNum == 12:
- self.tableWidgetFlight.setItem(i, colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(53)])))
- self.tableWidgetFlight.item(i, colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
- elif colNum == 11:
- self.tableWidgetFlight.setItem(i, colNum, QTableWidgetItem(str(tableWidgetDispalydata[row][str(61)])))
- self.tableWidgetFlight.item(i, colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
- if (i+1)%2 ==0 and str(tableWidgetDispalydata[row][str(109)]) =="1":
- self.tableWidgetFlight.item(i, colNum).setBackground(QColor('#DDE2E3'))
- elif str(tableWidgetDispalydata[row][str(109)]) !="1":
- self.tableWidgetFlight.item(i, colNum).setBackground(QColor('#00FFFF'))
- i += 1
- self.tableWidgetFlight.resizeColumnsToContents()
- self.tableWidgetFlight.setColumnHidden(12, True)
- self.tableWidgetFlight.setColumnHidden(10, True)
- except Exception as e:
- app_logger.log_error(e)
|