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

Материал из DOF
Перейти к: навигация, поиск
(Дополнительные методы:)
м (Подробный формат полей в таблице:)
 
(не показаны 22 промежуточные версии 5 участников)
Строка 1: Строка 1:
 
{{Infobox_Plugin
 
{{Infobox_Plugin
| name = addresses
+
| name = agroups
| type = agroups
+
| type = storages
 
}}
 
}}
  
Строка 10: Строка 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 - поправочный зарплатный коэффициент
  
 
===Дополнительные методы:===
 
===Дополнительные методы:===
'''search_group_code()'''
 
  
Ищет группы по коду.
+
 
 +
===='''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')'''====
 +
 
 +
Получает все группы, относящиеся к структурному подразделению и обучающиеся по программе
  
 
''Аргументы:''  
 
''Аргументы:''  
* $code(string) - код группы.
+
* $dpid(int) - id структурного подразделения в таблице [[Разработка:storages/departments | departments ]].
 +
* $prid(int) - id программы в таблице [[Разработка:storages/programms | programms ]], по умолчанию - все(null).
 +
* $status(string) - статус группы, по умолчанию - 'learn'.
 
''Возвращаемые значения:''
 
''Возвращаемые значения:''
* (object) объект группы.
+
* array - список групп.
* (bool) false если группа не найдена.
+
* bool - false, если группы не найдены.
 +
''Структура работы:''
 +
* формируем SQL-запрос и возвращаем список групп:
 +
** если указывается id программы - группы с указанным id,
 +
** если id программы не указывается или указывается как null- группы с любым id.
 +
** если указывается статус - группы с указанным статусом,
 +
** если статус указывается null - группы с любым статусом,
 +
** если статус не указывается - группы со статусом learn.
  
'''get_group_programm()'''
 
  
Получает все группы, обучающиеся по учебной программе.
+
===='''get_group_cstream($csid)'''====
  
 +
Получить все группы, подписанные на учебный процесс с данным id.
 +
 
''Аргументы:''  
 
''Аргументы:''  
* $prid(int) - id программы.
+
* $csid(int) - id учебного процесса  в таблице [[Разработка:storages/cstreams | cstreams ]].
* $status(string) - статус группы, по умолчанию - обучается(learn).
 
 
''Возвращаемые значения:''
 
''Возвращаемые значения:''
* (array) список групп.
+
* (array) - список групп.
* (bool) false если группы не найдены.
+
* (bool) - false, если группы не найдены.
 +
 
  
'''get_group_department()'''
+
===='''get_numberof_agroups($select)'''====
  
Получает все группы, относящиеся к структурному подразделению.
+
находит количество групп
  
 
''Аргументы:''  
 
''Аргументы:''  
* $dpid(int) - id структурного подразделения.
+
* $select(string) - критерии отбора записей.
* $prid(int) - id программы, по умолчанию - все(null).
 
* $status(string) - статус группы, по умолчанию - обучается(learn).
 
 
''Возвращаемые значения:''
 
''Возвращаемые значения:''
* (array) список групп.
+
* int - количество найденных записей.
* (bool) false если группы не найдены.
 
  
'''get_group_cstream'''
 
  
Получает все группы, подписанные на учебный процесс с данным id.
+
===='''get_group_nocstream($csid)'''====
 +
 
 +
находит список групп, не связаных с данным потоком
  
 
''Аргументы:''  
 
''Аргументы:''  
 
* $csid(int) - id учебного процесса.
 
* $csid(int) - id учебного процесса.
 
''Возвращаемые значения:''
 
''Возвращаемые значения:''
* (array) список групп.
+
* array - список групп.
* (bool) false если группы не найдены.
+
* 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.