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

Материал из DOF
Перейти к: навигация, поиск
м (Подробный формат полей в таблице:)
 
(не показано 28 промежуточных версий 5 участников)
Строка 1: Строка 1:
 +
{{Infobox_Plugin
 +
| name = agroups
 +
| type = storages
 +
}}
 +
 
===Таблица в базе данных===
 
===Таблица в базе данных===
 
''agroups'' - классы/академические группы. Связывают контракты на обучение и учебные программы при групповой форме обучения.
 
''agroups'' - классы/академические группы. Связывают контракты на обучение и учебные программы при групповой форме обучения.
Строка 5: Строка 10:
 
* name - название академической группы/класса
 
* name - название академической группы/класса
 
* code - кодовое обозначение группы (текстовое поле, обязательное, уникальное)
 
* code - кодовое обозначение группы (текстовое поле, обязательное, уникальное)
* programmid - id учебной программы, которую реализует академическая группа
+
* programmid - id учебной программы в таблице [[Разработка:storages/programms | programms ]], которую реализует академическая группа
* departmentid - отдел, ответственный за группу
+
* departmentid - отдел в таблице [[Разработка:storages/departments | departments ]], ответственный за группу
* agenum - порядковый номер текущего учебного периода (изменяется приказом по контингенту)
+
* agenum - порядковый номер текущего учебного периода (изменяется приказом по контингенту). Параллель группы может быть изменена только если группа находится в статусе "формируется".
* status - список статусов указан в одноименном плагине рабочих процессов  [[Разработка:workflows/agroups | agroups ]]  
+
* status - список статусов указан в одноименном плагине рабочих процессов  [[Разработка:workflows/agroups | agroups ]]
 +
* metacontractid - id заключенного с группой метаконтракта в таблице [[Разработка:storages/metacontracts | metacontracts ]]
 +
* salfactor - поправочный зарплатный коэффициент
  
 
===Дополнительные методы:===
 
===Дополнительные методы:===
  
* Получить список текущих учебных периодов для структурного подразделения (по умолчанию - все попадающие в промежуток между "созданы учебные потоки" по "идет учебный процесс)
+
 
 +
===='''insert($dataobject,$quiet=NULL)'''====
 +
 
 +
Вставляет запись в таблицу(ы) плагина
 +
 
 +
''Аргументы:''
 +
* $dataobject(object) - данные записи.
 +
* $quiet(bool) - генерировать или нет события, по умолчанию null.
 +
''Возвращаемые значения:''
 +
* int - id вставленной записи.
 +
* bool - false, если операция не удалась.
 +
 
 +
 
 +
===='''search_group_code($code)'''====
 +
 
 +
находит группу по коду
 +
 
 +
''Аргументы:''
 +
* $code - код группы.
 +
''Возвращаемые значения:''
 +
* object - объект группы.
 +
* bool - false, если группа не найдена.
 +
 
 +
 
 +
===='''get_groups_programm($prid, $status = 'learn', $agenum = null, $dpid = null)'''====
 +
 
 +
находит все группы, обучающиеся по учебной программе.
 +
 
 +
''Аргументы:''
 +
* $prid(int) - id программы  в таблице [[Разработка:storages/programms | programms ]].
 +
* $status(string) - статус группы, по умолчанию - 'learn'.
 +
* $agenum(int) - номер периода, по умолчанию - null.
 +
* $dpid(int) - id структурного подразделения, по умолчанию - null.
 +
''Возвращаемые значения:''
 +
* array - список групп.
 +
* bool - false, если группы не найдены.
 +
''Структура работы:''
 +
* формируем SQL-запрос и возвращаем список групп:
 +
** если указывается статус - группы с указанным статусом,
 +
** если статус указывается null - группы с любым статусом,
 +
** если статус не указывается - группы со статусом learn.
 +
** если указывается номер периода - группы с указанным периодом,
 +
** если номер периода указывается null или не указывается - группы с любым периодом.
 +
** если указывается id подразделения - группы указанного подразделения,
 +
** если id подразделения указывается null или не указывается - группы любого подразделения.
 +
 
 +
 
 +
===='''get_group_department($dpid, $prid = null, $status = 'learn')'''====
 +
 
 +
Получает все группы, относящиеся к структурному подразделению и обучающиеся по программе
 +
 
 +
''Аргументы:''
 +
* $dpid(int) - id структурного подразделения в таблице [[Разработка:storages/departments | departments ]].
 +
* $prid(int) - id программы в таблице [[Разработка:storages/programms | programms ]], по умолчанию - все(null).
 +
* $status(string) - статус группы, по умолчанию - 'learn'.
 +
''Возвращаемые значения:''
 +
* array - список групп.
 +
* bool - false, если группы не найдены.
 +
''Структура работы:''
 +
* формируем SQL-запрос и возвращаем список групп:
 +
** если указывается id программы - группы с указанным id,
 +
** если id программы не указывается или указывается как null- группы с любым id.
 +
** если указывается статус - группы с указанным статусом,
 +
** если статус указывается null - группы с любым статусом,
 +
** если статус не указывается - группы со статусом learn.
 +
 
 +
 
 +
===='''get_group_cstream($csid)'''====
 +
 
 +
Получить все группы, подписанные на учебный процесс с данным id.
 +
 +
''Аргументы:''
 +
* $csid(int) - id учебного процесса  в таблице [[Разработка:storages/cstreams | cstreams ]].
 +
''Возвращаемые значения:''
 +
* (array) - список групп.
 +
* (bool) - false, если группы не найдены.
 +
 
 +
 
 +
===='''get_numberof_agroups($select)'''====
 +
 
 +
находит количество групп
 +
 
 +
''Аргументы:''
 +
* $select(string) - критерии отбора записей.
 +
''Возвращаемые значения:''
 +
* int - количество найденных записей.
 +
 
 +
 
 +
===='''get_group_nocstream($csid)'''====
 +
 
 +
находит список групп, не связаных с данным потоком
 +
 
 +
''Аргументы:''
 +
* $csid(int) - id учебного процесса.
 +
''Возвращаемые значения:''
 +
* array - список групп.
 +
* bool - false, если произошла ошибка.
 +
 
 +
===Планы:===
 +
 
 +
===События===
 +
В этом разделе описан список всех событий, которые генерируются, перехватываются и обрабатываются этим плагином.
 +
====Перехватываемые события====
 +
{| border="1"
 +
|+ Таблица событий, которые перехватывает этот плагин
 +
! Тип плагина
 +
! Код плагина
 +
! Код события
 +
! Доп. данные
 +
! Пояснение
 +
|-
 +
|colspan=5 align=center | ''Этот плагин не перехватывает никаких событий''
 +
|}
 +
====Генерируемые события====
 +
{| border="1"
 +
|+ Таблица событий, которые генерирует этот плагин
 +
! Тип плагина
 +
! Код плагина
 +
! Код события
 +
! Доп. данные
 +
! Пояснение
 +
|-
 +
|storage
 +
|agroups
 +
|insert
 +
|Массив, содержащий в поле "new" объект с данными для вставки в таблицу.
 +
''Пример:'' array('new' => $dataobject)
 +
|Генерируется каждый раз при вставке новой записи в таблицу agroups.
 +
|-
 +
|storage
 +
|agroups
 +
|update
 +
|Массив, содержащий в поле "new" обновленный объект, и в поле "old" объект со старыми данными, до обновления записи.
 +
''Пример:'' array('old' => $dataobject_old, 'new' => $dataobject_new)
 +
|Генерируется каждый раз при обновлении записи в таблице agroups.
 +
|-
 +
|storage
 +
|agroups
 +
|delete
 +
|Массив, содержащий в поле "old" объект с данными, которые удаляются из таблицы
 +
''Пример:'' array('old' => $dataobject)
 +
|Генерируется каждый раз при удалении записи из таблицы agroups.
 +
|}

Текущая версия на 13:10, 30 июля 2013

Плагин
Название agroups
Тип storages


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

agroups - классы/академические группы. Связывают контракты на обучение и учебные программы при групповой форме обучения.

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

  • name - название академической группы/класса
  • code - кодовое обозначение группы (текстовое поле, обязательное, уникальное)
  • programmid - id учебной программы в таблице programms , которую реализует академическая группа
  • departmentid - отдел в таблице departments , ответственный за группу
  • agenum - порядковый номер текущего учебного периода (изменяется приказом по контингенту). Параллель группы может быть изменена только если группа находится в статусе "формируется".
  • status - список статусов указан в одноименном плагине рабочих процессов agroups
  • metacontractid - id заключенного с группой метаконтракта в таблице metacontracts
  • salfactor - поправочный зарплатный коэффициент

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

insert($dataobject,$quiet=NULL)

Вставляет запись в таблицу(ы) плагина

Аргументы:

  • $dataobject(object) - данные записи.
  • $quiet(bool) - генерировать или нет события, по умолчанию null.

Возвращаемые значения:

  • int - id вставленной записи.
  • bool - false, если операция не удалась.


search_group_code($code)

находит группу по коду

Аргументы:

  • $code - код группы.

Возвращаемые значения:

  • object - объект группы.
  • bool - false, если группа не найдена.


get_groups_programm($prid, $status = 'learn', $agenum = null, $dpid = null)

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

Аргументы:

  • $prid(int) - id программы в таблице programms .
  • $status(string) - статус группы, по умолчанию - 'learn'.
  • $agenum(int) - номер периода, по умолчанию - null.
  • $dpid(int) - id структурного подразделения, по умолчанию - null.

Возвращаемые значения:

  • array - список групп.
  • bool - false, если группы не найдены.

Структура работы:

  • формируем SQL-запрос и возвращаем список групп:
    • если указывается статус - группы с указанным статусом,
    • если статус указывается null - группы с любым статусом,
    • если статус не указывается - группы со статусом learn.
    • если указывается номер периода - группы с указанным периодом,
    • если номер периода указывается null или не указывается - группы с любым периодом.
    • если указывается id подразделения - группы указанного подразделения,
    • если id подразделения указывается null или не указывается - группы любого подразделения.


get_group_department($dpid, $prid = null, $status = 'learn')

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

Аргументы:

  • $dpid(int) - id структурного подразделения в таблице departments .
  • $prid(int) - id программы в таблице programms , по умолчанию - все(null).
  • $status(string) - статус группы, по умолчанию - 'learn'.

Возвращаемые значения:

  • array - список групп.
  • bool - false, если группы не найдены.

Структура работы:

  • формируем SQL-запрос и возвращаем список групп:
    • если указывается id программы - группы с указанным id,
    • если id программы не указывается или указывается как null- группы с любым id.
    • если указывается статус - группы с указанным статусом,
    • если статус указывается null - группы с любым статусом,
    • если статус не указывается - группы со статусом learn.


get_group_cstream($csid)

Получить все группы, подписанные на учебный процесс с данным id.

Аргументы:

  • $csid(int) - id учебного процесса в таблице cstreams .

Возвращаемые значения:

  • (array) - список групп.
  • (bool) - false, если группы не найдены.


get_numberof_agroups($select)

находит количество групп

Аргументы:

  • $select(string) - критерии отбора записей.

Возвращаемые значения:

  • int - количество найденных записей.


get_group_nocstream($csid)

находит список групп, не связаных с данным потоком

Аргументы:

  • $csid(int) - id учебного процесса.

Возвращаемые значения:

  • array - список групп.
  • bool - false, если произошла ошибка.

Планы:

События

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

Перехватываемые события

Таблица событий, которые перехватывает этот плагин
Тип плагина Код плагина Код события Доп. данные Пояснение
Этот плагин не перехватывает никаких событий

Генерируемые события

Таблица событий, которые генерирует этот плагин
Тип плагина Код плагина Код события Доп. данные Пояснение
storage agroups insert Массив, содержащий в поле "new" объект с данными для вставки в таблицу.

Пример: array('new' => $dataobject)

Генерируется каждый раз при вставке новой записи в таблицу agroups.
storage agroups update Массив, содержащий в поле "new" обновленный объект, и в поле "old" объект со старыми данными, до обновления записи.

Пример: array('old' => $dataobject_old, 'new' => $dataobject_new)

Генерируется каждый раз при обновлении записи в таблице agroups.
storage agroups delete Массив, содержащий в поле "old" объект с данными, которые удаляются из таблицы

Пример: array('old' => $dataobject)

Генерируется каждый раз при удалении записи из таблицы agroups.