Разработка:storages/cpgrades — различия между версиями
Yumeneco (обсуждение | вклад) (→Дополнительные методы:: Добавлены описания методов) |
Yumeneco (обсуждение | вклад) (→Дополнительные методы:) |
||
Строка 18: | Строка 18: | ||
===Дополнительные методы:=== | ===Дополнительные методы:=== | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | ==== | + | '''save_grade_student()''' |
+ | |||
+ | Сохраняет отметку студента. (в перспективе, когда будет реализован справочник с историей изменения отметок - вызов функции протоколирования) | ||
+ | |||
+ | ''Аргументы:'' | ||
+ | * $obj(object) - запись в таблицу БД. | ||
+ | ''Возвращаемые значения:'' | ||
+ | * (int) id вставленной записи, если запись вставляется. | ||
+ | * (bool) true, если запись обновляется. | ||
+ | * (bool) false, если операции не удались. | ||
+ | ''Структура работы:'' | ||
+ | # находим запись в таблице БД по данным из обьекта: | ||
+ | #* если запись была найдена и ее статус при этом является черновым, мы ее обновляем и возвращаем результат. | ||
+ | #* если не найдена или статус не черновой - запысываем в таблицу БД и возвращаем результат. | ||
+ | |||
+ | '''save_grade_students()''' | ||
+ | |||
+ | Cохраняет отметки всех студентов. | ||
+ | |||
+ | ''Аргументы:'' | ||
+ | * $obj(object) - запись в таблицу БД (объект, в котором имеются свойства date(дата), planid(id плана), teacherid(id учителя) и grades - массив записей, где ключ - id персоны, значения - оценка, подписка на учибный процесс и статус оценки). | ||
+ | ''Возвращаемые значения:'' | ||
+ | * (bool) true, если все записи успешно обновильсь/вставились. | ||
+ | * (bool) false во всех остальных случаях. | ||
+ | ''Структура работы:'' | ||
+ | # обновляем/вставляем все записи в БД. | ||
+ | #* перебираем исходный массив из данных объекта. | ||
+ | #* формируем объект для обновления/вставки в БД. | ||
+ | #* обновляем/вставляем объект в таблицу БД. | ||
+ | # возвращаем результат. | ||
+ | |||
+ | '''get_grade_student_cpassed()''' | ||
+ | |||
+ | Получает последнюю по дате оценку студента по id-подписки и id контрольной точки | ||
+ | |||
+ | ''Аргументы:'' | ||
+ | * $cpid(int) - id подписки. | ||
+ | * $plid(int) - id контрольной точки. | ||
+ | ''Возвращаемые значения:'' | ||
+ | * (object) запись из таблицы БД - последняя по дате оценка студента. | ||
+ | * (bool) false если ни одной оценки не найдено. | ||
+ | ''Структура работы:'' | ||
+ | # находим все оценки студента отсортированных по дате в порядке убывания. | ||
+ | # возвращаем первую стоящюю в списке оценку. | ||
+ | |||
+ | '''get_grade_student()''' | ||
+ | |||
+ | Получает последнюю по дате оценку студента по id студента, id учебного потока и id контрольной точки | ||
+ | |||
+ | ''Аргументы:'' | ||
+ | * $stid(int) - id студента. | ||
+ | * $cpid(int) - id учебного потока. | ||
+ | * $plid(int) - id контрольной точки. | ||
+ | ''Возвращаемые значения:'' | ||
+ | * (object) запись из таблицы БД - последняя по дате оценка студента. | ||
+ | * (bool) false если ни одной оценки не найдено. | ||
+ | ''Структура работы:'' | ||
+ | # по id учебного потока и id студента находим подписку студента на учебный поток. | ||
+ | # по id подписка и id контрольной точки находим последнюю по дате оценку студента. | ||
+ | # возвращаем результат. | ||
+ | |||
+ | '''get_all_grade_student()''' | ||
+ | |||
+ | Получает все оценки одного студента по подписке на дисциплину вместе с информацией из плана. | ||
+ | |||
+ | ''Аргументы:'' | ||
+ | * $cpid(int) - id подписки. | ||
+ | ''Возвращаемые значения:'' | ||
+ | * (array) список оценок вместе c планом. | ||
+ | * (bool) false если ни одной оценки не найдено. | ||
+ | ''Структура работы:'' | ||
+ | # находим все оценки студента по подписке. | ||
+ | # создаем массив оценок вместе с информацией из плана. | ||
+ | #* создаем новый объек со свойствами: | ||
+ | #** grade - оценка студента | ||
+ | #** plan - контрольная точка (информация из плана) | ||
+ | #* записываем объект в массив | ||
+ | # возвращаем созданный массив | ||
+ | |||
+ | ===Планы:=== | ||
+ | ====Дополнительные методы:==== | ||
* Получить историю изменения оценок по id подписки и id контрольной точки | * Получить историю изменения оценок по id подписки и id контрольной точки |
Версия 15:13, 11 августа 2009
Содержание
Таблица в базе данных
cpgrades - оценки по контрольным точкам внутри дисциплины. Контрольные точки могут быть как локальными (внутри учебной дисциплины), так и глобальными - на все учебное заведение (четверти в школе или промежуточные аттестации).
Подробный формат полей в таблице:
- cpassedid - подписка на дисциплину (связь с personid студента осуществляется через id подписки)
- planid - контрольная точка или тема в плане, за которую получена оценка
- grade - полученная оценка
- date - дата получения оценки
- notice - комментарий преподавателя к отметке (виден студенту и родителям)
- typesync - тип синхронизации (выставление вручную, синхронизация с moodle)
- mdlinstance - id задания в moodle, с которым выполнялась синхронизация
- orderid - id приказа, в соответствии с которым была выставлена эта оценка
- teacherid - id сотрудника по справочнику persons, вручную (если не синхронизация) выставившего отметку
- status - статус оценки (черновик (tmp), поставлена (put), удалена (delete) )
Комментарии
- История оценок выставляется в эту же таблицу, старые оценки не удаляются, актуальной считается одна, самая последняя по дате
Дополнительные методы:
save_grade_student()
Сохраняет отметку студента. (в перспективе, когда будет реализован справочник с историей изменения отметок - вызов функции протоколирования)
Аргументы:
- $obj(object) - запись в таблицу БД.
Возвращаемые значения:
- (int) id вставленной записи, если запись вставляется.
- (bool) true, если запись обновляется.
- (bool) false, если операции не удались.
Структура работы:
- находим запись в таблице БД по данным из обьекта:
- если запись была найдена и ее статус при этом является черновым, мы ее обновляем и возвращаем результат.
- если не найдена или статус не черновой - запысываем в таблицу БД и возвращаем результат.
save_grade_students()
Cохраняет отметки всех студентов.
Аргументы:
- $obj(object) - запись в таблицу БД (объект, в котором имеются свойства date(дата), planid(id плана), teacherid(id учителя) и grades - массив записей, где ключ - id персоны, значения - оценка, подписка на учибный процесс и статус оценки).
Возвращаемые значения:
- (bool) true, если все записи успешно обновильсь/вставились.
- (bool) false во всех остальных случаях.
Структура работы:
- обновляем/вставляем все записи в БД.
- перебираем исходный массив из данных объекта.
- формируем объект для обновления/вставки в БД.
- обновляем/вставляем объект в таблицу БД.
- возвращаем результат.
get_grade_student_cpassed()
Получает последнюю по дате оценку студента по id-подписки и id контрольной точки
Аргументы:
- $cpid(int) - id подписки.
- $plid(int) - id контрольной точки.
Возвращаемые значения:
- (object) запись из таблицы БД - последняя по дате оценка студента.
- (bool) false если ни одной оценки не найдено.
Структура работы:
- находим все оценки студента отсортированных по дате в порядке убывания.
- возвращаем первую стоящюю в списке оценку.
get_grade_student()
Получает последнюю по дате оценку студента по id студента, id учебного потока и id контрольной точки
Аргументы:
- $stid(int) - id студента.
- $cpid(int) - id учебного потока.
- $plid(int) - id контрольной точки.
Возвращаемые значения:
- (object) запись из таблицы БД - последняя по дате оценка студента.
- (bool) false если ни одной оценки не найдено.
Структура работы:
- по id учебного потока и id студента находим подписку студента на учебный поток.
- по id подписка и id контрольной точки находим последнюю по дате оценку студента.
- возвращаем результат.
get_all_grade_student()
Получает все оценки одного студента по подписке на дисциплину вместе с информацией из плана.
Аргументы:
- $cpid(int) - id подписки.
Возвращаемые значения:
- (array) список оценок вместе c планом.
- (bool) false если ни одной оценки не найдено.
Структура работы:
- находим все оценки студента по подписке.
- создаем массив оценок вместе с информацией из плана.
- создаем новый объек со свойствами:
- grade - оценка студента
- plan - контрольная точка (информация из плана)
- записываем объект в массив
- создаем новый объек со свойствами:
- возвращаем созданный массив
Планы:
Дополнительные методы:
- Получить историю изменения оценок по id подписки и id контрольной точки