Документация 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 человека.