Документация iSZN

pkPIC.sql

Сообщения об ошибках

Error_NoPIC

PROCEDURE Error_NoPIC(iRegionID PLS_INTEGER, iCollID PLS_INTEGER, iPeopleID PLS_INTEGER);

Описание

Вызывает exception «Человек не находится в коллективе».

Error_NoPIC

PROCEDURE Error_NoPIC(iRegionID PLS_INTEGER, iPICID PLS_INTEGER);

Описание

Вызывает exception «Экземпляр роли не найден».

Error_NoCollByRole

PROCEDURE Error_NoCollByRole(iRegionID PLS_INTEGER, iPersonID PLS_INTEGER, iRoleClassID PLS_INTEGER, dDate DATE := NULL);

Описание

Вызывает exception «Человек не находится в коллективе на роли <...> [на дату]».

Error_TooManyCollsByRole

PROCEDURE Error_TooManyCollsByRole(iRegionID PLS_INTEGER, iPersonID PLS_INTEGER, iRoleClassID PLS_INTEGER, dDate DATE := NULL);

Описание

Вызывает exception «Человек находится более чем в одном коллективе на роли <...> [на дату]».

Error_NoPersonByRole

PROCEDURE Error_NoPersonByRole(iRegionID PLS_INTEGER, iCollID PLS_INTEGER, iRoleClassID PLS_INTEGER, dDate DATE := NULL);

Описание

Вызывает exception «В коллективе нет людей, находящихся на роли <...> [на дату]».

Error_TooManyPersonsByRole

PROCEDURE Error_TooManyPersonsByRole(iRegionID PLS_INTEGER, iCollID PLS_INTEGER, iRoleClassID PLS_INTEGER, dDate DATE := NULL);

Описание

Вызывает exception «В коллективе находится более одного человека на роли <...> [на дату]».

Управление членством людей в коллективах

GetPICID

FUNCTION GetPICID(iRegionID PLS_INTEGER, iCollID PLS_INTEGER, iPersonID PLS_INTEGER, iStrict PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает ID записи членства человека в коллективе.
Параметры:

  • iRegionID - ID района;
  • iCollID - ID коллектива;
  • iPersonID - ID человека;
  • iStrict - определяет поведение при отсутствии такой записи.

AddCollRole

FUNCTION AddCollRole(iRegionID PLS_INTEGER, iCollID PLS_INTEGER, iPersonID PLS_INTEGER, iRoleClassID PLS_INTEGER, iComputeMembershipPeriods PLS_INTEGER := 0) RETURN PLS_INTEGER;

Описание

Добавляет человека в коллектив iCollID.
Параметры:

  • iRegionID - ID района;
  • iCollID - ID коллектива;
  • iPersonID - ID человека;
  • iRoleClassID - ID класса роли, на которую добавляется человек;
  • iComputeMembershipPeriods - выполнить перерасчёт периодов нахождения в коллективе после добавления (0/1).

Возвращает ID созданной записи.

AddCollRole

PROCEDURE AddCollRole(iRegionID PLS_INTEGER, iCollID PLS_INTEGER, iPersonID PLS_INTEGER, iRoleClassID PLS_INTEGER, iComputeMembershipPeriods PLS_INTEGER := 0);

Описание

Добавляет человека в коллектив iCollID.
Параметры:

  • iRegionID - ID района;
  • iCollID - ID коллектива;
  • iPersonID - ID человека;
  • iRoleClassID - ID класса роли, на которую добавляется человек;
  • iComputeMembershipPeriods - выполнить перерасчёт периодов нахождения в коллективе после добавления (0/1).

DeleteCollRole

PROCEDURE DeleteCollRole(iRegionID PLS_INTEGER, iCollID PLS_INTEGER, iPersonID PLS_INTEGER, iCheckLastRole PLS_INTEGER, iDelRefReqs PLS_INTEGER := 1, sNotes VARCHAR2 := NULL);

Описание

Удаляет человека iPersonID с роли в коллективе iCollID. Если iCheckLastRole=1 и коллектив больше не содержит ролей, он удаляется с помощью DeletePC(). Если iDelRefReqs=1, то удаляет также все реквизиты документов этого коллектива, ссылающиеся на данного человека.

ChangeCollRole

PROCEDURE ChangeCollRole(iRegionID PLS_INTEGER, iCollID PLS_INTEGER, iPersonID PLS_INTEGER, iRoleClassID PLS_INTEGER, iComputeMembershipPeriods PLS_INTEGER := 0);

Описание

Изменяет роль человека в коллективе.
Параметры:

  • iRegionID - ID района;
  • iCollID - ID коллектива;
  • iPersonID - ID человека;
  • iRoleClassID - ID класса роли, на которую требуется поместить человека;
  • iComputeMembershipPeriods - выполнить перерасчёт периодов нахождения в коллективе после добавления (0/1).

Если человек не находится в данном коллективе, возникает exception.
Если человек уже находится в данном коллективе на этой роли, ничего не происходит.

Поиск людей/коллективов по ролям

GetPersonRoleInColl

FUNCTION GetPersonRoleInColl(iRegionID PLS_INTEGER, iPersonID PLS_INTEGER, iCollID PLS_INTEGER, iStrict PLS_INTEGER) RETURN PLS_INTEGER;

Описание

Возвращает ID класса роли человека в коллективе.
Параметры:

  • iRegionID - ID района;
  • iPersonID - ID человека;
  • iCollID - ID коллектива;
  • iStrict - определяет поведение в случае, если человек не находится в данном коллективе (0/1).

GetCollByRole

FUNCTION GetCollByRole(iRegionID PLS_INTEGER, iPersonID PLS_INTEGER, iRoleClassID PLS_INTEGER, dDate DATE, iStrictNotFound PLS_INTEGER := 0, iStrictDuplicates PLS_INTEGER := 0) RETURN PLS_INTEGER;

Описание

Возвращает ID коллектива, в котором человек находится на заданной роли.
Параметры:

  • iRegionID - ID района;
  • iPersonID - ID человека;
  • iRoleClassID - ID класса роли, на которой находится человек;
  • dDate - дата, на которую осуществляется поиск; если null, периоды пребывания не учитываются;
  • iStrictNotFound - вызывать ли exception, если такой коллектив не найден (0/1);
  • iStrictDuplicates - вызывать ли exception при неоднозначном соответствии (0/1).

FindCollByRole

FUNCTION FindCollByRole(iRegionID PLS_INTEGER, iPersonID PLS_INTEGER, iRoleClassID PLS_INTEGER, dDate DATE, iCollID OUT PLS_INTEGER, iStrictNotFound PLS_INTEGER := 0, iStrictDuplicates PLS_INTEGER := 0) RETURN PLS_INTEGER;

Описание

Выполняет поиск коллектива, в котором человек находится на заданной роли.
Параметры:

  • iRegionID - ID района;
  • iPersonID - ID человека;
  • iRoleClassID - ID класса роли, на которой находится человек;
  • dDate - дата, на которую осуществляется поиск; если null, периоды пребывания не учитываются;
  • iCollID - ID найденного коллектива, или null, если коллектив не найден или соответствие неоднозначное;
  • iStrictNotFound - вызывать ли exception, если такой коллектив не найден (0/1);
  • iStrictDuplicates - вызывать ли exception при неоднозначном соответствии (0/1).

Возвращает:

  • 0 - при отсутствии соответствия (только при iStrictNotFound=0);
  • 1 - при удачном поиске;
  • 2 - при неоднозначном соответствии (только при iStrictDuplicates=0).

GetPersonByRole

FUNCTION GetPersonByRole(iRegionID PLS_INTEGER, iCollID PLS_INTEGER, iRoleClassID PLS_INTEGER, dDate DATE, iStrictNotFound PLS_INTEGER := 0, iStrictDuplicates PLS_INTEGER := 0) RETURN PLS_INTEGER;

Описание

Возвращает ID человека, находящегося на заданной роли в коллективе.
Параметры:

  • iRegionID - ID района;
  • iCollID - ID коллектива;
  • iRoleClassID - ID класса роли, на которой находится человек;
  • dDate - дата, на которую осуществляется поиск; если null, периоды пребывания не учитываются;
  • iStrictNotFound - вызывать ли exception, если такой человек не найден (0/1);
  • iStrictDuplicates - вызывать ли exception при неоднозначном соответствии (0/1).

FindPersonByRole

FUNCTION FindPersonByRole(iRegionID PLS_INTEGER, iCollID PLS_INTEGER, iRoleClassID PLS_INTEGER, dDate DATE, iPersonID OUT PLS_INTEGER, iStrictNotFound PLS_INTEGER := 0, iStrictDuplicates PLS_INTEGER := 0) RETURN PLS_INTEGER;

Описание

Выполняет поиск человека, находящегося на заданной роли в коллективе.
Параметры:

  • iRegionID - ID района;
  • iCollID - ID коллектива;
  • iRoleClassID - ID класса роли, на которой находится человек;
  • dDate - дата, на которую осуществляется поиск; если null, периоды пребывания не учитываются;
  • iPersonID - ID найденного человека, или null, если человек не найден или соответствие неоднозначное;
  • iStrictNotFound - вызывать ли exception, если такой человек не найден (0/1);
  • iStrictDuplicates - вызывать ли exception при неоднозначном соответствии (0/1).

Возвращает:

  • 0 - при отсутствии соответствия (только при iStrictNotFound=0);
  • 1 - при удачном поиске;
  • 2 - при неоднозначном соответствии (только при iStrictDuplicates=0).

LoadCollMembers

FUNCTION LoadCollMembers(iRegionID PLS_INTEGER, iCollID PLS_INTEGER, iRoleClassID PLS_INTEGER := NULL) RETURN uszn.pkGen.TIntegers;

Описание

Загружает и возвращает список ID людей, находящихся в составе коллектива.
Параметры:

  • iRegionID - ID района;
  • iCollID - ID коллектива;
  • iRoleClassID - ID класса роли (null - без учёта роли).

LoadCollMembersOnDate

FUNCTION LoadCollMembersOnDate(iRegionID PLS_INTEGER, iCollID PLS_INTEGER, dDate DATE, iRoleClassID PLS_INTEGER := NULL) RETURN uszn.pkGen.TIntegers;

Описание

Загружает и возвращает список ID людей, находящихся в составе коллектива на заданную дату.
Параметры:

  • iRegionID - ID района;
  • iCollID - ID коллектива;
  • dDate - дата, на которую осуществляется поиск;
  • iRoleClassID - ID класса роли (null - без учёта роли).

LoadCollMembersForPeriod

FUNCTION LoadCollMembersForPeriod(iRegionID PLS_INTEGER, iCollID PLS_INTEGER, dDateStart DATE, dDateEnd DATE, iRoleClassID PLS_INTEGER := NULL) RETURN uszn.pkGen.TIntegers;

Описание

Загружает и возвращает список ID людей, находящихся в составе коллектива в указанный период.
Параметры:

  • iRegionID - ID района;
  • iCollID - ID коллектива;
  • dDateStart - дата начала периода поиска;
  • dDateEnd - дата окончания периода поиска;
  • iRoleClassID - ID класса роли (null - без учёта роли).

LoadCollMembersForMonth

FUNCTION LoadCollMembersForMonth(iRegionID PLS_INTEGER, iCollID PLS_INTEGER, dMonth DATE, iRoleClassID PLS_INTEGER := NULL) RETURN uszn.pkGen.TIntegers;

Описание

Загружает и возвращает список ID людей, находящихся в составе коллектива в указанном месяце.
Параметры:

  • iRegionID - ID района;
  • iCollID - ID коллектива;
  • dMonth - дата, входящая в месяц поиска;
  • iRoleClassID - ID класса роли (null - без учёта роли).

GetCollMemberCountOnDate

FUNCTION GetCollMemberCountOnDate(iRegionID PLS_INTEGER, iCollID PLS_INTEGER, dDate DATE, iRoleClassID PLS_INTEGER := NULL) RETURN PLS_INTEGER;

Описание

Возвращает количество людей, находящихся в составе коллектива на заданную дату.
Параметры:

  • iRegionID - ID района;
  • iCollID - ID коллектива;
  • dDate - дата, на которую осуществляется поиск;
  • iRoleClassID - ID класса роли (null - без учёта роли).

IsPersonInCollOnDate

FUNCTION IsPersonInCollOnDate(iRegionID PLS_INTEGER, iPersonID PLS_INTEGER, iCollID PLS_INTEGER, dDate DATE, iRoleClassID PLS_INTEGER := NULL) RETURN PLS_INTEGER;

Описание

Возвращает, находится ли человек в составе коллектива на заданную дату (0/1).
Параметры:

  • iRegionID - ID района;
  • iPersonID - ID человека;
  • iCollID - ID коллектива;
  • dDate - дата, на которую осуществляется поиск;
  • iRoleClassID - ID класса роли (null - без учёта роли).

GetLinkedCollMembers

FUNCTION GetLinkedCollMembers(iRegionID PLS_INTEGER, iPersonID PLS_INTEGER, iCollClassID PLS_INTEGER) RETURN uszn.TIntegerList;

Описание

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

  • iRegionID, iPersonID - ключ человека;
  • iCollClassID - ID класса коллективов, через которые осуществляется связь.

GetLinkedColls

FUNCTION GetLinkedColls(iRegionID PLS_INTEGER, iPersonID PLS_INTEGER, iCollClassID PLS_INTEGER) RETURN uszn.TIntegerList;

Описание

Возвращает список ID коллективов, в котором находится указанный человек, кто-нибудь из членов этих коллективов и т. д.
Параметры:

  • iRegionID, iPersonID - ключ человека;
  • iCollClassID - ID класса коллективов, через которые осуществляется связь.

Расчёт периодов пребывания людей в коллективах

ComputePICPeriods

PROCEDURE ComputePICPeriods(iRegionID PLS_INTEGER, iPICID PLS_INTEGER);

Описание

Выполняет расчёт периодов пребывания человека в коллективе.
Параметры:

  • iRegionID - ID района;
  • iPICID - ID экземпляра роли (записи в r_people_in_colls).

ComputePICPeriodsForColl

PROCEDURE ComputePICPeriodsForColl(iRegionID PLS_INTEGER, iCollID PLS_INTEGER);

Описание

Выполняет расчёт периодов пребывания всех людей в коллективе.
Параметры:

  • iRegionID - ID района;
  • iCollID - ID коллектива.

ComputePICPeriodsForPerson

PROCEDURE ComputePICPeriodsForPerson(iRegionID PLS_INTEGER, iPersonID PLS_INTEGER);

Описание

Выполняет расчёт периодов пребывания человека во всех коллективах.
Параметры:

  • iRegionID - ID района;
  • iPersonID - ID человека.

GetPeriodsFromMembershipPDocs

FUNCTION GetPeriodsFromMembershipPDocs(iRegionID PLS_INTEGER, iCollID PLS_INTEGER, iPersonID PLS_INTEGER) RETURN uszn.pkGen.TWhiles;

Описание

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

  • iRegionID - ID района;
  • iCollID - ID коллектива;
  • iPersonID - ID человека.