checkCalllist.py 4.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. from PyQt6 import QtCore
  2. from UI.checkCalllist import Ui_checkCalllist
  3. from .LogerinTxt import app_logger
  4. from PyQt6.QtCore import Qt
  5. from PyQt6.QtWidgets import QWidget, QMessageBox, QTableWidgetItem
  6. import requests
  7. import datetime
  8. class checkCalllist(Ui_checkCalllist, QWidget):
  9. checkCalllist_signal = QtCore.pyqtSignal(str)
  10. def __init__(self, parent=None):
  11. super().__init__(parent)
  12. try:
  13. self.setupUi(self)
  14. self.ipinfo = None
  15. self.selectedtime = None
  16. self.pushButton.clicked.connect(self.btn)
  17. # self.show()
  18. except Exception as e:
  19. app_logger.log_error(e)
  20. def start(self):
  21. try:
  22. selectedtime_time = str(self.selectedtime) + " 00:00:00"
  23. now = datetime.datetime.strptime(selectedtime_time, "%Y%m%d %H:%M:%S")
  24. tom = (now + datetime.timedelta(days=1)).strftime("%Y-%m-%d %H:%M:%S")
  25. yesterday = (now - datetime.timedelta(days=1)).strftime("%Y-%m-%d %H:%M:%S")
  26. self.label_5.setText("%s/%s" % (str(yesterday)[0:10], str(tom)[0:10]))
  27. ip = "http://" + str(self.ipinfo) + "/static/checkCalllist" + "/" + str(self.selectedtime)
  28. try:
  29. res = requests.get(url=ip, timeout=30).json()
  30. # print(res)
  31. except Exception as e:
  32. # print('登录服务器失败')
  33. QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
  34. app_logger.log_error(e)
  35. self.peopleLabel = ["序号", "电话", "工号", "姓名", "航班号", "拨号次数", "创建时间", "接通时间"]
  36. self.tableWidgetFlight.setColumnCount(len(self.peopleLabel))
  37. self.tableWidgetFlight.verticalHeader().setVisible(False)
  38. self.tableWidgetFlight.setHorizontalHeaderLabels(self.peopleLabel)
  39. col = len(self.peopleLabel)
  40. diplaylist = res
  41. self.tableWidgetFlight.setRowCount(len(diplaylist.keys()))
  42. for row in diplaylist.keys():
  43. for colNum in range(0, col):
  44. if colNum == 0:
  45. self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(str(row)))
  46. self.tableWidgetFlight.item(int(row), colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
  47. else:
  48. self.tableWidgetFlight.setItem(int(row), colNum,QTableWidgetItem(diplaylist[row][self.peopleLabel[colNum]]))
  49. self.tableWidgetFlight.item(int(row), colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
  50. self.tableWidgetFlight.resizeColumnsToContents()
  51. # self.show()
  52. except Exception as e:
  53. app_logger.log_error(e)
  54. def btn(self):
  55. try:
  56. ip = "http://" + str(self.ipinfo) + "/static/checkCalllist" + "/" + str(self.selectedtime)
  57. self.res = requests.get(url=ip, timeout=30).json()
  58. except Exception as e:
  59. # print('登录服务器失败')
  60. QMessageBox.warning(self, "提示", "服务器连接超时,请联系管理员检查服务器!")
  61. app_logger.log_error(e)
  62. self.res = {}
  63. col = len(self.peopleLabel)
  64. diplaylist = self.res
  65. self.tableWidgetFlight.setRowCount(len(diplaylist))
  66. rownum = 0
  67. for row in diplaylist:
  68. for colNum in range(0, col):
  69. if colNum == 0:
  70. self.tableWidgetFlight.setItem(int(row), colNum, QTableWidgetItem(str(row)))
  71. self.tableWidgetFlight.item(int(row), colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
  72. else:
  73. self.tableWidgetFlight.setItem(int(row), colNum,QTableWidgetItem(diplaylist[row][self.peopleLabel[colNum]]))
  74. self.tableWidgetFlight.item(int(row), colNum).setTextAlignment(Qt.AlignmentFlag.AlignCenter)
  75. self.tableWidgetFlight.resizeColumnsToContents()
  76. def closeEvent(self, event):
  77. try:
  78. reply = QMessageBox.question(self, '确认', '你确定要退出程序吗?')
  79. reply = str(reply)
  80. if reply == "StandardButton.Yes":
  81. self.checkCalllist_signal.emit(reply)
  82. event.ignore()
  83. else:
  84. event.ignore()
  85. except Exception as e:
  86. app_logger.log_error(e)