Разработка:im/learningorders — различия между версиями

Материал из DOF
Перейти к: навигация, поиск
(Структура приказа о переводе на следующую параллель)
 
(не показано 11 промежуточных версий 2 участников)
Строка 17: Строка 17:
  
 
== Приказ о переводе на следующую параллель ==
 
== Приказ о переводе на следующую параллель ==
 +
=== Структура приказа о переводе на следующую параллель ===
 +
Данные приказа состоят из трех объектов:
 +
* ages - объект, содержащий информацию о периодах:
 +
** from - массив периодов, из которых будет осуществляться перевод учащихся;
 +
** where - массив периодов, в которые будет осуществляться перевод учащихся;
 +
** base - базовый период из массива where, который будет по умолчанию подставляться при переводе учащихся;
 +
* departments - объект, содержащий информацию о подразделениях, из которых переводим учащихся. при отсутствии данного массива учащиеся выбираются из всех подразделений
 +
* groups - содержит дополнительный одномерный массив объектов групп в формате [id_группы] => объект. Формат объекта:
 +
** oldagenum - номер параллели на которой училась группа до подписания приказа
 +
** newagenum - номер параллели на которой будет учиться группа после подписания приказа
 +
** oldageid - id старого периода группы (в котором она училась до подписания приказа)
 +
** newageid - id нового периода группы (в котором она будет учиться после подписания приказа)
 +
** exclude - true если группа исключена из приказа, false если группа присутствует в приказе
 +
** name - название группы
 +
** code - код группы
 +
 +
* student - объект содержащий в себе информацию о студентах переводимых на следующую параллель. Разделен на несколько категорий:
 +
** transfer - содержит в себе все группы и учащихся переводимых на следующую параллель;
 +
** condtransfer - содержит в себе все группы и учащихся условно переводимых на следующую параллель;
 +
** notransfer - содержит в себе все группы и учащихся оставленных обучаться на той же параллели повторно;
 +
** academ - содержит в себе всех учащихся отправленных в академический отпуск из указанных периодов;
 +
** restore - содержит в себе всех учащихся восстановленных из академического отпуска в указанный период;
 +
** exclude - содержит в себе всех учащихся не участвующих в исполнении приказа. В данную категорию попадают выпускники, учащиеся находящиеся а академическом отпуска, учащиеся с приостановленной подпиской, а также учащиеся исключенные из приказа пользователем вручную. Перед подписанием приказа данная категория удаляется из данных приказа.
 +
 +
Каждая категория состоит из сложного массива данных, содержащего в себе данные о переводе:
 +
[agenum][agroupid][sbcsid]->sbcdata, где
 +
* agenum - № параллелей, из которой переводятся группы и учащиеся;
 +
* agroupid - id групп, которые переводятся на следующую параллель;
 +
* sbcsid - id подписок учащихся на программу, которые переводятся на следующую параллель;
 +
* sbcdata - данные для перевода учащегося в следующую параллель:
 +
** oldageid - id периода, в котором учится учащийся;
 +
** oldagenum - № параллели, в которой учится учащийся;
 +
** oldagroupid - id группы, в которой учится учащийся;
 +
** oldstatus - статус подписки на программу, по которой учится учащийся
 +
** newageid - id периода, в котором будет учится учащийся. По умолчанию значение берется из ages[base], может быть изменена пользователем;
 +
** newagenum - № параллели, в которой будет учится учащийся. Как правило для переведенных это oldagenum + 1, для всех остальных равно oldagenum;
 +
** newagroupid - id группы, в которой учится учащийся. По умолчанию это oldagroupid, может быть изменена пользователем;
 +
** newstatus - статус, в который по необходимости будет переведена подписка на программу, по которой учится учащийся. Устанавливается автоматически в зависимости от категории, в которой находится данная подписка.
 +
 
=== Формирование приказа о переводе ===
 
=== Формирование приказа о переводе ===
 
Работа с приказами о переводе начинается в выбора периодов, по которым будет происходить движение и подразделений, из которых выбираем учащихся. После этого на основе выбранных данных формируются изначальные данные приказа, которые пользователь может изменить если понадобится.
 
Работа с приказами о переводе начинается в выбора периодов, по которым будет происходить движение и подразделений, из которых выбираем учащихся. После этого на основе выбранных данных формируются изначальные данные приказа, которые пользователь может изменить если понадобится.
Строка 31: Строка 70:
  
 
==== Формирование начальных данных ====
 
==== Формирование начальных данных ====
 +
Данные для приказа формируются по истории обучения групп и студентов.
 +
Из истории обучения групп выбираются группы обучающиеся в указанных ранее периодах и из указанных подразделений, если они были выбраны ранее. Выбранные группы помещаются в массив данных приказа по студентам.
 +
 +
Далее из истории обучения студентов выбираются все подписки на программы учащихся, относящихся к указанным периодам и подразделениям, указанных ранее. Далее подписки на программу раскидываются по соответствующим группам, если группа у учащегося не была найдена среди данных учащихся подписка попадает в категорию учащихся обучающихся индивидуально.
 +
 +
Если параллель подписки на программу такая же как и максимальная параллель программы, то учащийся попадает в категорию исключенных из приказа как выпускник, который будет обрабатываться приказом об окончании учебного заведения. Предполагаемого выпускника можно оставить на второй год или отправить в академический отпуск.
 +
 +
Действующая подписка на программу, учащийся которой не является выпускником, попадает в раздел переведенных на следующий год. Учащегося такой подписки можно будет потом условно перевести, оставить на второй год, отправить в академический отпуск или исключить из данных приказа.
 +
 +
Если в приказ попадает условно действующая подписка на программу, учащийся которой не является выпускником, то она попадет в раздел условно переведенных на следующий год. Учащегося такой подписки можно будет потом перевести, оставить на второй год, отправить в академический отпуск или исключить из данных приказа.
 +
 +
Приостановленная подписка, попавшая в приказ сразу попадает в раздел исключенных из приказа. Учащегося такой подписки можно только оставить на второй год или отправить в академический отпуск.
 +
 +
После того как все подписки на программу были раскиданы по соответствующим разделам, выбираются подписки учащихся, находящихся в академическом отпуске. Эти подписки выбираются вне зависимости от выбранных ранее периодов, но в зависимости от указанных подразделений. Попадают они в раздел исключенных из приказа, таких учащихся можно только восстановить.
 +
 +
==== Изменение данных приказа о группе или учащемся ====
  
 
=== Подписание приказа о переводе ===
 
=== Подписание приказа о переводе ===
 +
Перед подписанием приказа категория exclude удаляется из данных приказа.
 +
 +
Приказ с устаревшими данными(учащиеся или группы уже были переведены в следующую параллель в другом приказе) подписать нельзя.
 +
 
=== Исполнение приказа о переводе ===
 
=== Исполнение приказа о переводе ===

Текущая версия на 18:58, 18 марта 2011

Плагин
Название learningorders
Тип im


Приказы контингента

Этот интерфейс организовать работу по движению учащихся через приказы.

Пока реализованы приказы о переводе в следующую параллель. В дальнейшем планируется реализовать приказы о приеме учащихся, об их исключении, об окончании учебного заведения, а также все различные решения педагогического совета.

Начальная страница

Здесь отображаются ссылки на формирование приказов контингента и на списки приказов.

Список приказов

На этой странице отображаются все различные приказы контингента и соответствующие действия над ними.

Приказы отсортированы по категориям и по номеру приказа. Напротив каждого приказа расположены иконки - действия над приказами. Еще недоформированные приказы можно сформировать заново, продолжить работу с приказом, подписать или удалить. Подписанные приказы можно уже только просмотреть, исполнить или удалить. Исполненные приказы можно только просмотреть.

Приказ о переводе на следующую параллель

Структура приказа о переводе на следующую параллель

Данные приказа состоят из трех объектов:

  • ages - объект, содержащий информацию о периодах:
    • from - массив периодов, из которых будет осуществляться перевод учащихся;
    • where - массив периодов, в которые будет осуществляться перевод учащихся;
    • base - базовый период из массива where, который будет по умолчанию подставляться при переводе учащихся;
  • departments - объект, содержащий информацию о подразделениях, из которых переводим учащихся. при отсутствии данного массива учащиеся выбираются из всех подразделений
  • groups - содержит дополнительный одномерный массив объектов групп в формате [id_группы] => объект. Формат объекта:
    • oldagenum - номер параллели на которой училась группа до подписания приказа
    • newagenum - номер параллели на которой будет учиться группа после подписания приказа
    • oldageid - id старого периода группы (в котором она училась до подписания приказа)
    • newageid - id нового периода группы (в котором она будет учиться после подписания приказа)
    • exclude - true если группа исключена из приказа, false если группа присутствует в приказе
    • name - название группы
    • code - код группы
  • student - объект содержащий в себе информацию о студентах переводимых на следующую параллель. Разделен на несколько категорий:
    • transfer - содержит в себе все группы и учащихся переводимых на следующую параллель;
    • condtransfer - содержит в себе все группы и учащихся условно переводимых на следующую параллель;
    • notransfer - содержит в себе все группы и учащихся оставленных обучаться на той же параллели повторно;
    • academ - содержит в себе всех учащихся отправленных в академический отпуск из указанных периодов;
    • restore - содержит в себе всех учащихся восстановленных из академического отпуска в указанный период;
    • exclude - содержит в себе всех учащихся не участвующих в исполнении приказа. В данную категорию попадают выпускники, учащиеся находящиеся а академическом отпуска, учащиеся с приостановленной подпиской, а также учащиеся исключенные из приказа пользователем вручную. Перед подписанием приказа данная категория удаляется из данных приказа.

Каждая категория состоит из сложного массива данных, содержащего в себе данные о переводе: [agenum][agroupid][sbcsid]->sbcdata, где

  • agenum - № параллелей, из которой переводятся группы и учащиеся;
  • agroupid - id групп, которые переводятся на следующую параллель;
  • sbcsid - id подписок учащихся на программу, которые переводятся на следующую параллель;
  • sbcdata - данные для перевода учащегося в следующую параллель:
    • oldageid - id периода, в котором учится учащийся;
    • oldagenum - № параллели, в которой учится учащийся;
    • oldagroupid - id группы, в которой учится учащийся;
    • oldstatus - статус подписки на программу, по которой учится учащийся
    • newageid - id периода, в котором будет учится учащийся. По умолчанию значение берется из ages[base], может быть изменена пользователем;
    • newagenum - № параллели, в которой будет учится учащийся. Как правило для переведенных это oldagenum + 1, для всех остальных равно oldagenum;
    • newagroupid - id группы, в которой учится учащийся. По умолчанию это oldagroupid, может быть изменена пользователем;
    • newstatus - статус, в который по необходимости будет переведена подписка на программу, по которой учится учащийся. Устанавливается автоматически в зависимости от категории, в которой находится данная подписка.

Формирование приказа о переводе

Работа с приказами о переводе начинается в выбора периодов, по которым будет происходить движение и подразделений, из которых выбираем учащихся. После этого на основе выбранных данных формируются изначальные данные приказа, которые пользователь может изменить если понадобится.

Выбор периодов и подразделений

При заходе на эту страницу пользователь видит несколько списков множественного выбора. Сначала пользователь выбирает подразделения, по которым будет происходить выборка учащихся. Если пользователь не выбрал ни одного подразделения, выборка будет происходить по всем имеющимся подразделениям.

Далее идет выбор периодов, из которых мы будем производить перевод учащихся, возможно выбрать несколько периодов. Периоды в этом списке отображаются только активные и завершенные.

После этого идет выбор периодов, в которые мы будем переводить учащихся. Также возможно выбор нескольких периодов. В этом случае необходимо будет в выпадающем меню под списками выбрать базовый период, по которому будет происходить изначальное формирование данных. Периоды для этих списков можно выбирать только запланированные, активные и завершенные.

Выборка периодов обязательна. Без них нельзя сформировать начальные данные.

Формирование начальных данных

Данные для приказа формируются по истории обучения групп и студентов. Из истории обучения групп выбираются группы обучающиеся в указанных ранее периодах и из указанных подразделений, если они были выбраны ранее. Выбранные группы помещаются в массив данных приказа по студентам.

Далее из истории обучения студентов выбираются все подписки на программы учащихся, относящихся к указанным периодам и подразделениям, указанных ранее. Далее подписки на программу раскидываются по соответствующим группам, если группа у учащегося не была найдена среди данных учащихся подписка попадает в категорию учащихся обучающихся индивидуально.

Если параллель подписки на программу такая же как и максимальная параллель программы, то учащийся попадает в категорию исключенных из приказа как выпускник, который будет обрабатываться приказом об окончании учебного заведения. Предполагаемого выпускника можно оставить на второй год или отправить в академический отпуск.

Действующая подписка на программу, учащийся которой не является выпускником, попадает в раздел переведенных на следующий год. Учащегося такой подписки можно будет потом условно перевести, оставить на второй год, отправить в академический отпуск или исключить из данных приказа.

Если в приказ попадает условно действующая подписка на программу, учащийся которой не является выпускником, то она попадет в раздел условно переведенных на следующий год. Учащегося такой подписки можно будет потом перевести, оставить на второй год, отправить в академический отпуск или исключить из данных приказа.

Приостановленная подписка, попавшая в приказ сразу попадает в раздел исключенных из приказа. Учащегося такой подписки можно только оставить на второй год или отправить в академический отпуск.

После того как все подписки на программу были раскиданы по соответствующим разделам, выбираются подписки учащихся, находящихся в академическом отпуске. Эти подписки выбираются вне зависимости от выбранных ранее периодов, но в зависимости от указанных подразделений. Попадают они в раздел исключенных из приказа, таких учащихся можно только восстановить.

Изменение данных приказа о группе или учащемся

Подписание приказа о переводе

Перед подписанием приказа категория exclude удаляется из данных приказа.

Приказ с устаревшими данными(учащиеся или группы уже были переведены в следующую параллель в другом приказе) подписать нельзя.

Исполнение приказа о переводе