コード例 #1
0
    def show_teacher_journal_window(self):
        work = Work()
        grade = Grade()
        table_content: np.ndarray = grade.all(self.session,
                                              self.discipline_name,
                                              self.group_number)
        self.teacher_journal_ui.tableWidget = set_items_to_table(
            self.teacher_journal_ui.tableWidget, table_content)

        table_header: list = work.show_name(self.session,
                                            self.group_number,
                                            self.discipline_name,
                                            flag_header=True)
        self.teacher_journal_ui.tableWidget.setHorizontalHeaderLabels(
            table_header)

        self.teacher_journal_ui.tableWidget.resizeColumnsToContents()

        self.teacher_journal_ui.group_number = self.group_number
        self.teacher_journal_ui.discipline_name = self.discipline_name
        d = "Дисциплина: " + str(self.discipline_name)
        self.teacher_journal_ui.label.setText(d)
        g = "Группа: №" + str(self.group_number)
        self.teacher_journal_ui.label_2.setText(g)

        self.teacher_journal_ui.journal_attendance_ui = self.journal_attendance_ui
        self.teacher_journal_ui.journal_attendance_window = self.journal_attendance_window
        self.teacher_journal_ui.journal_safety_ui = self.journal_safety_ui
        self.teacher_journal_ui.journal_safety_window = self.journal_safety_window
        self.teacher_journal_ui.teacher_journal_ui = self.teacher_journal_ui
        self.teacher_journal_ui.teacher_journal_window = self.teacher_journal_window

        self.teacher_journal_window.show()
        self.journal_safety_window.close()
コード例 #2
0
    def add(self):
        grade = Grade()
        value = self.lineEdit.text()
        date = self.dateEdit.date().getDate()
        new_date = str(date)
        feedback = self.textEdit.toPlainText()
        note = self.textEdit_2.toPlainText()
        student = self.lineEdit_2.text()
        grade.add(self.session, self.id_work, student, value, new_date,
                  self.new_path_file, note, feedback)

        history = HistoryGrade()
        action = "Добавление"
        date = self.dateEdit.date().currentDate().getDate()
        date = str(date)
        history.add(self.session, self.id_work, student, value, action, date)

        table_content: np.ndarray = grade.all(self.session,
                                              self.discipline_name,
                                              self.group_number)
        self.table = set_items_to_table(self.table, table_content)

        self.table.resizeColumnsToContents()

        self.add_grade_window.close()
コード例 #3
0
    def delete_safety(self):
        items = self.tableWidget.selectedItems()

        for i in items:
            col = self.tableWidget.column(i)

            safety = Safety()
            safe_name = safety.all_name(self.session, self.discipline_name,
                                        self.group_number)
            choosen_safe = safe_name[col - 1]

            safety.delete(self.session, choosen_safe, self.discipline_name,
                          self.group_number)
            self.tableWidget.setRowCount(0)

            pass_safety = PassSafety()
            table_content: np.ndarray = pass_safety.all(
                self.session, self.discipline_name, self.group_number)
            self.tableWidget = set_items_to_table(self.tableWidget,
                                                  table_content)

            table_header: list = safety.all_name(self.session,
                                                 self.discipline_name,
                                                 self.group_number,
                                                 flag_header=True)
            self.tableWidget.setHorizontalHeaderLabels(table_header)

            self.tableWidget.resizeColumnsToContents()

            break
コード例 #4
0
    def show_journal_attendance_window(self):
        self.journal_attendance_ui.label_2.setText(self.discipline_name)
        self.journal_attendance_ui.label_4.setText(self.group_number)

        a = Attendance()
        table_content: np.ndarray = a.all(self.session, self.discipline_name,
                                          self.group_number)
        self.journal_attendance_ui.tableWidget = set_items_to_table(
            self.journal_attendance_ui.tableWidget, table_content)

        table_header: list = a.show_name(self.session,
                                         self.group_number,
                                         self.discipline_name,
                                         flag_header=True)
        self.journal_attendance_ui.tableWidget.setHorizontalHeaderLabels(
            table_header)

        self.journal_attendance_ui.tableWidget.resizeColumnsToContents()

        self.journal_attendance_ui.group_number = self.group_number
        self.journal_attendance_ui.discipline_name = self.discipline_name

        self.journal_attendance_ui.teacher_journal_ui = self.teacher_journal_ui
        self.journal_attendance_ui.teacher_journal_window = self.teacher_journal_window
        self.journal_attendance_ui.journal_safety_ui = self.journal_safety_ui
        self.journal_attendance_ui.journal_safety_window = self.journal_safety_window
        self.journal_attendance_ui.journal_attendance_ui = self.journal_attendance_ui
        self.journal_attendance_ui.journal_attendance_window = self.journal_attendance_window

        self.journal_attendance_window.show()
        self.journal_safety_window.close()
コード例 #5
0
    def show_journal_safety_window(self):
        safety = Safety()
        group_number: str = self.comboBox_2.currentText()
        discipline_name: str = self.comboBox.currentText()

        pass_safety = PassSafety()
        table_content: np.ndarray = pass_safety.all(self.session, discipline_name, group_number)
        self.journal_safety_ui.tableWidget = set_items_to_table(self.journal_safety_ui.tableWidget, table_content)

        table_header: list = safety.all_name(self.session, discipline_name, group_number, flag_header=True)
        self.journal_safety_ui.tableWidget.setHorizontalHeaderLabels(table_header)

        self.journal_safety_ui.tableWidget.resizeColumnsToContents()

        self.journal_safety_ui.group_number = group_number
        self.journal_safety_ui.discipline_name = discipline_name
        self.journal_safety_ui.label_2.setText(discipline_name)
        self.journal_safety_ui.label_4.setText(group_number)

        self.journal_safety_ui.teacher_journal_ui = self.teacher_journal_ui
        self.journal_safety_ui.teacher_journal_window = self.teacher_journal_window
        self.journal_safety_ui.journal_attendance_window = self.journal_attendance_window
        self.journal_safety_ui.journal_attendance_ui = self.journal_attendance_ui
        self.journal_safety_ui.journal_safety_ui = self.journal_safety_ui
        self.journal_safety_ui.journal_safety_window = self.journal_safety_window

        self.journal_safety_window.show()
コード例 #6
0
ファイル: student.py プロジェクト: ArtemyD/Journal
 def show_group_list_window(self):
     group = Group()
     ls_all = group.show_all(self.session)
     ls_all = np.array(ls_all)
     self.group_list_ui.tableWidget = set_items_to_table(
         self.group_list_ui.tableWidget, ls_all)
     self.group_list_ui.tableWidget.resizeColumnsToContents()
     self.group_list_window.show()
コード例 #7
0
ファイル: settings_timetable.py プロジェクト: ArtemyD/Journal
 def show_training_formats_list_window(self):
     class_format = ClassFormat()
     ls_all = class_format.show_all(self.session)
     ls_all = np.array(ls_all)
     self.training_formats_list_ui.tableWidget = set_items_to_table(
         self.training_formats_list_ui.tableWidget, ls_all)
     self.training_formats_list_ui.tableWidget.resizeColumnsToContents()
     self.training_formats_list_window.show()
コード例 #8
0
ファイル: settings_timetable.py プロジェクト: ArtemyD/Journal
 def show_audience_list_window(self):
     audience = Audience()
     ls_all = audience.show_all(self.session)
     ls_all = np.array(ls_all)
     self.audience_list_ui.tableWidget = set_items_to_table(
         self.audience_list_ui.tableWidget, ls_all)
     self.audience_list_ui.tableWidget.resizeColumnsToContents()
     self.audience_list_window.show()
コード例 #9
0
 def update(self):
     student = Student()
     group_number: str = self.group_number
     ls_all: list = student.show_all(self.session, group_number)
     ls_all: np.ndarray = np.array(ls_all)
     self.tableWidget = set_items_to_table(self.tableWidget, ls_all)
     self.tableWidget.resizeColumnsToContents()
     self.label.setText("Список группы: №" + str(group_number))
     self.group_number = str(group_number)
コード例 #10
0
    def add(self):
        class_format = ClassFormat()
        name = self.lineEdit.text()
        class_format.add(self.session, name)

        ls_all = class_format.show_all(self.session)
        ls_all = np.array(ls_all)
        self.table = set_items_to_table(self.table, ls_all)
        self.table.resizeColumnsToContents()
        self.add_training_formats_window.close()
コード例 #11
0
    def show_group_window(self):
        group = Group()
        ls_all = group.show_all(self.session)
        ls_all = np.array(ls_all)
        self.group_ui.tableWidget = set_items_to_table(
            self.group_ui.tableWidget, ls_all, DARK_THEME=self.dark_theme)
        self.group_ui.update(self.dark_theme)
        self.group_ui.tableWidget.resizeColumnsToContents()

        self.group_window.show()
コード例 #12
0
 def show(self):
     grade = Grade()
     result = grade.lagging_students(self.session)
     self.tableWidget = set_items_to_table(self.tableWidget,
                                           result,
                                           DARK_THEME=self.dark_theme)
     self.tableWidget.setHorizontalHeaderLabels(
         ["ФИО", "Группа", "Дисциплина", "Список не сданных работ"])
     self.tableWidget.resizeColumnsToContents()
     self.main_window.show()
コード例 #13
0
    def add(self):
        audience = Audience()
        corps = self.lineEdit.text()
        number = self.lineEdit_2.text()
        audience.add(self.session, corps, number)

        ls_all = audience.show_all(self.session)
        ls_all = np.array(ls_all)
        self.table = set_items_to_table(self.table, ls_all)
        self.table.resizeColumnsToContents()
        self.add_audience_window.close()
コード例 #14
0
ファイル: student.py プロジェクト: ArtemyD/Journal
 def show_student_list_window(self):
     student = Student()
     group_number: str = self.comboBox.currentText()
     ls_all: list = student.show_all(self.session, group_number)
     ls_all: np.ndarray = np.array(ls_all)
     self.student_list_ui.tableWidget = set_items_to_table(
         self.student_list_ui.tableWidget, ls_all)
     self.student_list_ui.tableWidget.resizeColumnsToContents()
     self.student_list_ui.label.setText("Список группы: №" +
                                        str(group_number))
     self.student_list_ui.group_number = str(group_number)
     self.student_list_window.show()
コード例 #15
0
    def __init__(self, main_window):
        self.session = main_window.session
        self.specialty_list_window = main_window.specialty_list_window
        self.specialty_list_window.setObjectName("MainWindow")
        self.specialty_list_window.setFixedSize(625, 416)
        self.centralwidget = QtWidgets.QWidget(self.specialty_list_window)
        self.centralwidget.setObjectName("centralwidget")
        self.tableWidget = QtWidgets.QTableWidget(self.centralwidget)
        self.tableWidget.setGeometry(QtCore.QRect(10, 10, 601, 301))
        self.tableWidget.setObjectName("tableWidget")
        self.tableWidget.setColumnCount(2)
        self.tableWidget.setEditTriggers(QtWidgets.QTableWidget.NoEditTriggers)

        specialty = Specialty()
        ls_all = specialty.show_all(self.session)
        ls = query_to_list_of_specialty_all(ls_all)

        self.tableWidget = set_items_to_table(self.tableWidget, ls)
        self.tableWidget.setHorizontalHeaderLabels(["Код", "Наименование"])

        self.tableWidget.resizeColumnsToContents()
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(10, 320, 151, 32))
        self.pushButton.setObjectName("pushButton")
        self.pushButton.clicked.connect(self.add)
        self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_2.setGeometry(QtCore.QRect(160, 320, 151, 32))
        self.pushButton_2.setObjectName("pushButton_2")
        self.pushButton_2.clicked.connect(self.update)
        self.pushButton_3 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_3.setGeometry(QtCore.QRect(310, 320, 151, 32))
        self.pushButton_3.setObjectName("pushButton_3")
        self.pushButton_3.clicked.connect(self.delete)
        self.pushButton_4 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_4.setGeometry(QtCore.QRect(460, 350, 151, 32))
        self.pushButton_4.setObjectName("pushButton_4")
        self.pushButton_4.clicked.connect(self.close_window)
        self.specialty_list_window.setCentralWidget(self.centralwidget)
        self.statusbar = QtWidgets.QStatusBar(self.specialty_list_window)
        self.statusbar.setObjectName("statusbar")
        self.specialty_list_window.setStatusBar(self.statusbar)

        self.add_specialty_window = QtWidgets.QMainWindow()
        self.add_specialty_ui = UiAddSpecialty(self)

        self.update_specialty_window = QtWidgets.QMainWindow()
        self.update_specialty_ui = UiUpdateSpecialty(self)

        self.retranslateUi(self.specialty_list_window)
        QtCore.QMetaObject.connectSlotsByName(self.specialty_list_window)
コード例 #16
0
    def analysis(self):
        type_analysis = self.comboBox_2.currentText()

        grade = Grade()
        control = Control()
        if type_analysis == 'Средняя оценка за работы в семестре':
            result: np.ndarray = grade.analysis_group_average_rating_discipline(self.session, self.discipline)
        elif type_analysis == 'Максимальная оценка по итогам работы в семестре':
            result: np.ndarray = grade.analysis_group_rating_semester_discipline(self.session, self.discipline, max=True)
        elif type_analysis == 'Минимальная оценка по итогам работы в семестре':
            result: np.ndarray = grade.analysis_group_rating_semester_discipline(self.session, self.discipline, max=False)
        elif type_analysis == 'Средняя оценка по итогам сессии':
            result: np.ndarray = control.analysis_group_average_rating_discipline(self.session, self.discipline)
        elif type_analysis == 'Максимальная оценка по итогам сессии':
            result: np.ndarray = control.analysis_group_maxmin_discipline(self.session, self.discipline, max=True)
        else:
            result: np.ndarray = control.analysis_group_maxmin_discipline(self.session, self.discipline,max=False)

        self.analytics_table_discipline_group_ui.tableWidget.setColumnCount(2)

        if type_analysis == 'Средняя оценка за работы в семестре':
            table_header = ['Учебная группа', 'Средняя оценка']
        elif type_analysis == 'Максимальная оценка по итогам работы в семестре':
            table_header = ['Учебная группа', 'Максимальная оценка']
        elif type_analysis == 'Минимальная оценка по итогам работы в семестре':
            table_header = ['Учебная группа', 'Минимальная оценка']
        elif type_analysis == 'Средняя оценка по итогам сессии':
            table_header = ['Учебная группа', 'Средняя оценка']
        elif type_analysis == 'Максимальная оценка по итогам сессии':
            table_header = ['Учебная группа', 'Максимальная оценка']
        else:
            table_header = ['Учебная группа', 'Минимальная оценка']

        self.analytics_table_discipline_group_ui.tableWidget.setHorizontalHeaderLabels(table_header)
        self.analytics_table_discipline_group_ui.tableWidget = set_items_to_table(
            self.analytics_table_discipline_group_ui.tableWidget,
            result, DARK_THEME=self.dark_theme)
        self.analytics_table_discipline_group_ui.update(self.dark_theme)
        self.analytics_table_discipline_group_ui.tableWidget.resizeColumnsToContents()

        self.analytics_table_discipline_group_ui.label_6.setText(self.discipline)
        self.analytics_table_discipline_group_ui.label_2.setText(type_analysis)
        self.analytics_table_discipline_group_ui.result = result
        self.analytics_table_discipline_group_ui.discipline = self.discipline
        self.analytics_table_discipline_group_ui.table_header = table_header
        self.analytics_table_discipline_group_ui.type_analysis = type_analysis

        self.choice_discipline_group_window.hide()
        self.analytics_table_discipline_group_window.show()
コード例 #17
0
    def update(self):
        fio = self.label_4.text()
        safety = self.label_5.text()
        date = self.dateEdit.date().getDate()
        new_date = str(date)

        pass_safety = PassSafety()
        pass_safety.update(self.session, fio, safety, new_date,
                           self.discipline_name, self.group_number)

        pass_safety = PassSafety()
        table_content: np.ndarray = pass_safety.all(self.session,
                                                    self.discipline_name,
                                                    self.group_number)
        self.table = set_items_to_table(self.table, table_content)
        self.table.resizeColumnsToContents()

        self.update_safety_student_window.close()
コード例 #18
0
    def add(self):
        name: str = self.lineEdit.text()
        safety = Safety()
        safety.add(self.session, self.discipline_name, self.group_number, name)

        pass_safety = PassSafety()
        table_content: np.ndarray = pass_safety.all(self.session,
                                                    self.discipline_name,
                                                    self.group_number)
        self.table = set_items_to_table(self.table, table_content)

        table_header: list = safety.all_name(self.session,
                                             self.discipline_name,
                                             self.group_number,
                                             flag_header=True)
        self.table.setHorizontalHeaderLabels(table_header)

        self.table.resizeColumnsToContents()
        self.add_safety_window.close()
コード例 #19
0
ファイル: detail_work.py プロジェクト: ArtemyD/Journal
    def delete(self):
        work = Work()
        work.delete(self.session, self.id_work)
        self.table.setRowCount(0)

        grade = Grade()
        table_content: np.ndarray = grade.all(self.session,
                                              self.discipline_name,
                                              self.group_number)
        self.table = set_items_to_table(self.table, table_content)

        table_header: list = work.show_name(self.session,
                                            self.discipline_name,
                                            self.group_number,
                                            flag_header=True)
        self.table.setHorizontalHeaderLabels(table_header)

        self.table.resizeColumnsToContents()
        self.detail_work_window.close()
コード例 #20
0
    def set_defualt_timetable_main_window(self, monday, saturday):
        tuesday = monday + datetime.timedelta(days=1)
        wednesday = monday + datetime.timedelta(days=2)
        thursday = monday + datetime.timedelta(days=3)
        friday = monday + datetime.timedelta(days=4)

        o = Occupation()
        monday_ls = o.show_all(self.session, monday)
        tuesday_ls = o.show_all(self.session, tuesday)
        wednesday_ls = o.show_all(self.session, wednesday)
        thursday_ls = o.show_all(self.session, thursday)
        friday_ls = o.show_all(self.session, friday)
        saturday_ls = o.show_all(self.session, saturday)

        monday_ls = np.array(monday_ls)
        self.tableWidget_main.setRowCount(0)
        self.tableWidget_main = set_items_to_table(self.tableWidget_main,
                                                   monday_ls)
        self.tableWidget_main.resizeColumnsToContents()

        tuesday_ls = np.array(tuesday_ls)
        self.tableWidget_2_main.setRowCount(0)
        self.tableWidget_2_main = set_items_to_table(self.tableWidget_2_main,
                                                     tuesday_ls)
        self.tableWidget_2_main.resizeColumnsToContents()

        wednesday_ls = np.array(wednesday_ls)
        self.tableWidget_3_main.setRowCount(0)
        self.tableWidget_3_main = set_items_to_table(self.tableWidget_3_main,
                                                     wednesday_ls)
        self.tableWidget_3_main.resizeColumnsToContents()

        thursday_ls = np.array(thursday_ls)
        self.tableWidget_4_main.setRowCount(0)
        self.tableWidget_4_main = set_items_to_table(self.tableWidget_4_main,
                                                     thursday_ls)
        self.tableWidget_4_main.resizeColumnsToContents()

        friday_ls = np.array(friday_ls)
        self.tableWidget_5_main.setRowCount(0)
        self.tableWidget_5_main = set_items_to_table(self.tableWidget_5_main,
                                                     friday_ls)
        self.tableWidget_5_main.resizeColumnsToContents()

        saturday_ls = np.array(saturday_ls)
        self.tableWidget_6_main.setRowCount(0)
        self.tableWidget_6_main = set_items_to_table(self.tableWidget_6_main,
                                                     saturday_ls)
        self.tableWidget_6_main.resizeColumnsToContents()
コード例 #21
0
    def delete(self):
        grade = Grade()
        grade.delete(self.session, self.id_grade)
        self.table.setRowCount(0)

        grade = Grade()
        table_content: np.ndarray = grade.all(self.session,
                                              self.discipline_name,
                                              self.group_number)
        self.table = set_items_to_table(self.table, table_content)

        history = HistoryGrade()
        action = "Удаление"
        date = self.dateEdit.date().currentDate().getDate()
        date = str(date)
        student = self.lineEdit_2.text()
        value = self.lineEdit.text()
        history.add(self.session, self.id_work, student, value, action, date)

        self.table.resizeColumnsToContents()
        self.detail_grade_window.close()
コード例 #22
0
    def add(self):
        name = self.lineEdit.text()
        task = self.textEdit.toPlainText()
        note = self.textEdit_2.toPlainText()
        grade_scale = self.comboBox.currentText()

        date = self.dateEdit.date().getDate()
        new_date = str(date)
        isdeadline: bool = self.checkBox.isChecked()

        work = Work()
        work.add(self.session, self.discipline_name, self.group_number, name, task, note, grade_scale, new_date, isdeadline )

        grade = Grade()
        table_content: np.ndarray = grade.all(self.session, self.discipline_name, self.group_number)
        self.table = set_items_to_table(self.table, table_content)

        table_header: list = work.show_name(self.session, self.group_number, self.discipline_name, flag_header=True)
        self.table.setHorizontalHeaderLabels(table_header)

        self.table.resizeColumnsToContents()
        self.add_work_window.close()
コード例 #23
0
ファイル: update_class.py プロジェクト: ArtemyD/Journal
    def set_defualt_timetable(self, monday, saturday):
        tuesday = monday + datetime.timedelta(days=1)
        wednesday = monday + datetime.timedelta(days=2)
        thursday = monday + datetime.timedelta(days=3)
        friday = monday + datetime.timedelta(days=4)

        o = Occupation()
        monday_ls = o.show_all(self.session, monday)
        tuesday_ls = o.show_all(self.session, tuesday)
        wednesday_ls = o.show_all(self.session, wednesday)
        thursday_ls = o.show_all(self.session, thursday)
        friday_ls = o.show_all(self.session, friday)
        saturday_ls = o.show_all(self.session, saturday)

        monday_ls = np.array(monday_ls)
        self.tableWidget.setRowCount(0)
        self.tableWidget = set_items_to_table(self.tableWidget, monday_ls)
        self.tableWidget.resizeColumnsToContents()

        tuesday_ls = np.array(tuesday_ls)
        self.tableWidget_2.setRowCount(0)
        self.tableWidget_2 = set_items_to_table(self.tableWidget_2, tuesday_ls)
        self.tableWidget_2.resizeColumnsToContents()

        wednesday_ls = np.array(wednesday_ls)
        self.tableWidget_3.setRowCount(0)
        self.tableWidget_3 = set_items_to_table(self.tableWidget_3,
                                                wednesday_ls)
        self.tableWidget_3.resizeColumnsToContents()

        thursday_ls = np.array(thursday_ls)
        self.tableWidget_4.setRowCount(0)
        self.tableWidget_4 = set_items_to_table(self.tableWidget_4,
                                                thursday_ls)
        self.tableWidget_4.resizeColumnsToContents()

        friday_ls = np.array(friday_ls)
        self.tableWidget_5.setRowCount(0)
        self.tableWidget_5 = set_items_to_table(self.tableWidget_5, friday_ls)
        self.tableWidget_5.resizeColumnsToContents()

        saturday_ls = np.array(saturday_ls)
        self.tableWidget_6.setRowCount(0)
        self.tableWidget_6 = set_items_to_table(self.tableWidget_6,
                                                saturday_ls)
        self.tableWidget_6.resizeColumnsToContents()
コード例 #24
0
    def show_teacher_journal_window(self):
        work = Work()
        group_number: str = self.comboBox_2.currentText()
        discipline_name: str = self.comboBox.currentText()

        grade = Grade()
        table_content: np.ndarray = grade.all(self.session, discipline_name,
                                              group_number)
        self.teacher_journal_window_ui.tableWidget = set_items_to_table(
            self.teacher_journal_window_ui.tableWidget,
            table_content,
            DARK_THEME=self.dark_theme)

        table_header: list = work.show_name(self.session,
                                            group_number,
                                            discipline_name,
                                            flag_header=True)
        self.teacher_journal_window_ui.tableWidget.setHorizontalHeaderLabels(
            table_header)

        self.teacher_journal_window_ui.tableWidget.resizeColumnsToContents()
        self.teacher_journal_window_ui.update(self.dark_theme)

        self.teacher_journal_window.show()
コード例 #25
0
    def analysis(self):
        group = self.comboBox.currentText()
        type_analysis = self.comboBox_4.currentText()
        period = self.comboBox_3.currentText()
        session = self.comboBox_2.currentText()

        self.analytics_table_group_ui.label_2.setText(group)
        self.analytics_table_group_ui.label_4.setText(type_analysis)
        self.analytics_table_group_ui.label_6.setText(period)
        self.analytics_table_group_ui.label_8.setText(session)

        control = Control()
        if type_analysis == 'Средняя оценка по итогам сессии':
            result: np.ndarray = control.analysis_group(
                self.session, group, session, period)
        elif type_analysis == 'Максимальная оценка по итогам сессии':
            result: np.ndarray = control.analysis_group_maximin(self.session,
                                                                group,
                                                                session,
                                                                period,
                                                                max=True)
        else:
            result: np.ndarray = control.analysis_group_maximin(self.session,
                                                                group,
                                                                session,
                                                                period,
                                                                max=False)

        self.analytics_table_group_ui.result = result
        self.analytics_table_group_ui.tableWidget.setColumnCount(2)

        if type_analysis == 'Средняя оценка по итогам сессии':
            self.analytics_table_group_ui.group_diagram_ui.pushButton_3.setText(
                "Отобразить диаграмму в пропорциях")
        elif type_analysis == 'Максимальная оценка по итогам сессии':
            self.analytics_table_group_ui.group_diagram_ui.pushButton_3.setText(
                "Отобразить диаграмму в круговом виде")
            self.analytics_table_group_ui.group_diagram_ui.pushButton_3.hide()
            self.analytics_table_group_ui.group_diagram_ui.data = result
        else:
            self.analytics_table_group_ui.group_diagram_ui.pushButton_3.setText(
                "Отобразить диаграмму в круговом виде")
            self.analytics_table_group_ui.group_diagram_ui.pushButton_3.hide()
            self.analytics_table_group_ui.group_diagram_ui.data = result

        if type_analysis == 'Средняя оценка по итогам сессии':
            table_header = ['Учебный год', 'Средняя оценка']
        elif type_analysis == 'Максимальная оценка по итогам сессии':
            table_header = ['Учебный год', 'Максимальная оценка']
        else:
            table_header = ['Учебный год', 'Минимальная оценка']

        self.analytics_table_group_ui.tableWidget.setHorizontalHeaderLabels(
            table_header)
        self.analytics_table_group_ui.tableWidget = set_items_to_table(
            self.analytics_table_group_ui.tableWidget,
            result,
            DARK_THEME=self.dark_theme)
        self.analytics_table_group_ui.update(self.dark_theme)
        self.analytics_table_group_ui.tableWidget.resizeColumnsToContents()

        self.analytics_table_group_ui.group = group
        self.analytics_table_group_ui.type_analysis = type_analysis
        self.analytics_table_group_ui.period = period
        self.analytics_table_group_ui.stud_session = session
        self.analytics_table_group_ui.table_header = table_header

        self.group_analytics_window.hide()
        self.analytics_table_group_window.show()
コード例 #26
0
 def show_history_window(self):
     history_grade = HistoryGrade()
     table_content: np.ndarray = history_grade.all(self.session, self.discipline_name, self.group_number)
     self.history_ui.tableWidget = set_items_to_table(self.history_ui.tableWidget, table_content)
     self.history_ui.tableWidget.resizeColumnsToContents()
     self.history_window.show()
コード例 #27
0
    def analysis(self):
        student = self.comboBox.currentText()
        type_analysis = self.comboBox_4.currentText()
        period = self.comboBox_3.currentText()
        session = self.comboBox_2.currentText()

        self.analytics_table_student_ui.label_2.setText(student)
        self.analytics_table_student_ui.label_4.setText(type_analysis)
        self.analytics_table_student_ui.label_6.setText(period)
        self.analytics_table_student_ui.label_8.setText(session)

        control = Control()
        grade = Grade()
        if type_analysis == 'Средняя оценка по итогам сессии':
            result: np.ndarray = control.analysis_student_average_rating(
                self.session, student, session, period)
        elif type_analysis == 'Максимальная оценка по итогам сессии':
            result: np.ndarray = control.analysis_student_rating(self.session,
                                                                 student,
                                                                 session,
                                                                 period,
                                                                 max=True)
        elif type_analysis == 'Минимальная оценка по итогам сессии':
            result: np.ndarray = control.analysis_student_rating(self.session,
                                                                 student,
                                                                 session,
                                                                 period,
                                                                 max=False)
        elif type_analysis == 'Средняя оценка за работы в семестре':
            result: np.ndarray = grade.analysis_student_average_rating(
                self.session, student, session, period)
        elif type_analysis == 'Максимальная оценка по итогам работы в семестре':
            result: np.ndarray = grade.analysis_student_rating_semester(
                self.session, student, session, period, max=True)
        elif type_analysis == 'Минимальная оценка по итогам работы в семестре':
            result: np.ndarray = grade.analysis_student_rating_semester(
                self.session, student, session, period, max=False)
        elif type_analysis == 'Количество сданных работ в семестре':
            result: np.ndarray = grade.analysis_student_number_works(
                self.session, student, session, period)

        self.analytics_table_student_ui.result = result
        if type_analysis == 'Количество сданных работ в семестре':
            self.analytics_table_student_ui.tableWidget.setColumnCount(3)
        else:
            self.analytics_table_student_ui.tableWidget.setColumnCount(2)

        if type_analysis == 'Средняя оценка по итогам сессии':
            table_header = ['Учебный год', 'Средняя оценка']
        elif type_analysis == 'Средняя оценка за работы в семестре':
            table_header = ['Учебный год', 'Средняя оценка']
        elif type_analysis == 'Максимальная оценка по итогам сессии':
            table_header = ['Учебный год', 'Максимальная оценка']
        elif type_analysis == 'Минимальная оценка по итогам сессии':
            table_header = ['Учебный год', 'Минимальная оценка']
        elif type_analysis == 'Максимальная оценка по итогам работы в семестре':
            table_header = ['Учебный год', 'Максимальная оценка']
        elif type_analysis == 'Минимальная оценка по итогам работы в семестре':
            table_header = ['Учебный год', 'Минимальная оценка']
        elif type_analysis == 'Количество сданных работ в семестре':
            table_header = [
                'Учебный год', 'Количество сданных работ', 'Количество работ'
            ]

        if type_analysis == 'Средняя оценка по итогам сессии':
            self.analytics_table_student_ui.student_diagram_ui.pushButton_3.setText(
                "Отобразить диаграмму в пропорциях")
        else:
            self.analytics_table_student_ui.student_diagram_ui.pushButton_3.setText(
                "Отобразить диаграмму в круговом виде")
            self.analytics_table_student_ui.student_diagram_ui.pushButton_3.hide(
            )
            self.analytics_table_student_ui.student_diagram_ui.data = result

        self.analytics_table_student_ui.tableWidget.setHorizontalHeaderLabels(
            table_header)
        self.analytics_table_student_ui.tableWidget = set_items_to_table(
            self.analytics_table_student_ui.tableWidget,
            result,
            DARK_THEME=self.dark_theme)
        self.analytics_table_student_ui.update(self.dark_theme)
        self.analytics_table_student_ui.tableWidget.resizeColumnsToContents()

        self.analytics_table_student_ui.student = student
        self.analytics_table_student_ui.type_analysis = type_analysis
        self.analytics_table_student_ui.period = period
        self.analytics_table_student_ui.stud_session = session
        self.analytics_table_student_ui.table_header = table_header
        self.analytics_table_student_ui.group = self.group
        self.analytics_table_student_ui.result = result

        self.student_analytics_window.hide()

        self.analytics_table_student_window.show()