prb_1/Desktop/main_window.py
2025-01-12 23:02:53 +05:00

40 lines
1.3 KiB
Python

from PyQt6 import uic
from PyQt6.QtWidgets import QMainWindow
from employee_card_widget import EmployeeCardWidget
from data.connect import connect, User, Department
from structure_widget import DepartmentGraph
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
uic.loadUi('ui/main.ui', self)
self.department_employees = []
self.structer_company_widget = DepartmentGraph(self)
self.gridLayout_2.addWidget(self.structer_company_widget)
def select_department(self, department_id):
self.department_employees = []
self.search_employees(department_id)
for i in range(self.verticalLayout.count()):
self.verticalLayout.itemAt(i).widget().close()
for employee in self.department_employees:
employee_card = EmployeeCardWidget(employee)
self.verticalLayout.addWidget(employee_card)
def search_employees(self, department_id):
with connect() as session:
employees = session.query(User).filter(User.department_id == department_id).all()
self.department_employees += employees
child_departments = session.query(Department).filter(Department.parent_id == department_id).all()
for department in child_departments:
self.search_employees(department.id)