Разработка:storages/cpgrades
Версия от 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 контрольной точки