Разработка:storages/cpgrades

Материал из DOF
Версия от 16:55, 6 августа 2009; Yumeneco (обсуждение | вклад) (Дополнительные методы:: Добавлены описания методов)
Перейти к: навигация, поиск

Таблица в базе данных

cpgrades - оценки по контрольным точкам внутри дисциплины. Контрольные точки могут быть как локальными (внутри учебной дисциплины), так и глобальными - на все учебное заведение (четверти в школе или промежуточные аттестации).

Подробный формат полей в таблице:

  • cpassedid - подписка на дисциплину (связь с personid студента осуществляется через id подписки)
  • planid - контрольная точка или тема в плане, за которую получена оценка
  • grade - полученная оценка
  • date - дата получения оценки
  • notice - комментарий преподавателя к отметке (виден студенту и родителям)
  • typesync - тип синхронизации (выставление вручную, синхронизация с moodle)
  • mdlinstance - id задания в moodle, с которым выполнялась синхронизация
  • orderid - id приказа, в соответствии с которым была выставлена эта оценка
  • teacherid - id сотрудника по справочнику persons, вручную (если не синхронизация) выставившего отметку
  • status - статус оценки (черновик (tmp), поставлена (put), удалена (delete) )

Комментарии

  • История оценок выставляется в эту же таблицу, старые оценки не удаляются, актуальной считается одна, самая последняя по дате

Дополнительные методы:

  • get_grade_student_cpassed($cpid, $plid) - получить оценку студента по id-подписки и id контрольной точки (возвращается последняя по дате оценка).
  • get_all_grade_student($cpid) - получить все оценки (одного студента) по подписке на дисциплину вместе с информацией из плана. По id подписки на учебный поток находит все оценки студента и для каждой оценки создает объект со свойствами grade - оценка студента и plan - информация из плана. Возвращает массив этих самых объектов.
  • get_grade_student($stid, $csid, $plid) - получить оценку студента по id студента, id предмето-класса (учебного потока) и id контрольной точки (возвращается последняя по дате оценка).
  • save_grade_student($obj) - сохранить (добавить/обновить) отметку студента (в перспективе, когда будет реализован справочник с историей изменения отметок - вызов функции протоколирования). Обновляет запись в базе данных если оценка с данной подпиской на учебный процесс и с данным планом из объекта уже существует и при этом является черновой(status=tmp) и записывает ее, если такой записи не обнаружено.
  • save_grade_students($obj) - сохранить (добавить/обновить) отметки всех студентов. Входными данными является объект, в котором имеются свойства date(дата), planid(id плана), teacherid(id учителя) и grades - массив записей, где ключ - id персоны, значения - оценка, подписка на учибный процесс и статус оценки. Перебирая данный массив создает обьект для сохранения в БД данных отдельно по каждому ученику и сохраняет успользуя предыдущую функцию.

Планируются:

  • Получить историю изменения оценок по id подписки и id контрольной точки