Документация iSZN
pkStat.sql
Сервисные функции общего назначения
AnalyzeStatsRKeysTable
PROCEDURE AnalyzeStatsRKeysTable;
Описание
Выполняет расчёт статистики по таблице R$_STATS_RKEYS.
Учёт выплаты
LoadPKAcctAmounts
FUNCTION LoadPKAcctAmounts(iRegionID PLS_INTEGER, iPKID PLS_INTEGER, iPKRgnID PLS_INTEGER, dDate DATE, sFilterInner VARCHAR2 := NULL, sFilterOuter VARCHAR2 := NULL) RETURN TPKAcctAmounts;
Описание
Загружает базовые (элементарные) суммы для учёта выплаты на дату dDate sFilterInner - фильтр (без слова where) для фильтрации внутреннего запроса по r_po_items (i) и r_po_amounts (a) sFilterOuter - фильтр (без слова where) для фильтрации внешнего запроса (вставляется перед группировкой).
PKAcctAmountsToRecs
Описание
Преобразует базовые (элементарные) суммы для учёта выплаты в таблицу учёта выплаты.
GetPKAccounting
FUNCTION GetPKAccounting(iRegionID PLS_INTEGER, iPKID PLS_INTEGER, iPKRgnID PLS_INTEGER, dDate DATE, sFilterInner VARCHAR2 := NULL, sFilterOuter VARCHAR2 := NULL) RETURN TPKAccountingRecs;
Описание
Получает таблицу учёта выплаты на дату; параметры sFilterInner и sFilterOuter - как в LoadPKAcctAmounts.
GetPKStatistics
FUNCTION GetPKStatistics(iRegionID PLS_INTEGER, iPKID PLS_INTEGER, iPKRgnID PLS_INTEGER, dRDate DATE := NULL) RETURN uszn.TPKStatRecs;
Описание
Получает таблицу статистики по виду выплаты на текущую отчётную дату. Если отчётная дата не задана, возникает
- Exception
dRDate - задаваемая дата выборки.
Прочее
GetCategoryCount
FUNCTION GetCategoryCount(iRegionID PLS_INTEGER, iCatID PLS_INTEGER, iCatRgnID PLS_INTEGER, dDate DATE := NULL, iMonthsFrom PLS_INTEGER := NULL, iMonthsTo PLS_INTEGER := NULL, iIncludeFrom PLS_INTEGER := 1, iIncludeTo PLS_INTEGER := 1, sCatsExtra VARCHAR2 := NULL) RETURN PLS_INTEGER;
Описание
Вычисляет количество людей, имеющих заданную категорию на указанную дату.
Если категория не указана, берутся все категории, выбранные в таблице r$_pc_categories_to_compute.
Если дата не указана, берётся текущая системная дата.
Если указан возраст, то он также учитывается
Можно также указать дополнительный набор категорий в виде строкового выражения sCatsExtra:
- номера категорий задаются в виде region_id*1000000+id;
- допустимые операции: + = или = or, * = и = and, ! = не = not, а также скобки;
- вычисления производятся справа налево с учётом старшинства «не» > «и» > «или», например: (325+326)*(407*!408) = (есть 325 или 326) и (есть 407 и нет 408).
GetPCWithCatInPeriodCount
FUNCTION GetPCWithCatInPeriodCount(iRegionID PLS_INTEGER, dDateFrom DATE, dDateTo DATE, iCatSlurps uszn.TIntegerList, iCheckSubset PLS_INTEGER := 0) RETURN PLS_INTEGER;
Описание
Возвращает количество людей или коллективов, обладающих ЛЮБОЙ из заданных категорий («or») в пределах заданного периода («за отчётный период»), либо на одну из дат («срез») - iCheckSubset: если >0, проверять наличие ключа человека/коллектива в r$_stats_rkeys с kind_id=iCheckSubset - iCheckSubset: если <0, проверять отсутствие ключа человека/коллектива в r$_stats_rkeys с kind_id=Abs(iCheckSubset).
GetPCWithCatsInPeriodCount
FUNCTION GetPCWithCatsInPeriodCount(iRegionID PLS_INTEGER, dDateFrom DATE, dDateTo DATE, iCatSlurp1 PLS_INTEGER, iCatSlurp2 PLS_INTEGER := NULL, iCatSlurp3 PLS_INTEGER := NULL, iCatSlurp4 PLS_INTEGER := NULL, iCatSlurp5 PLS_INTEGER := NULL, iCheckSubset PLS_INTEGER := 0) RETURN PLS_INTEGER;
Описание
Возвращает количество людей или коллективов, обладающих заданной категорией или их СОЧЕТАНИЕМ («and») В остальном аналогична предыдущей функции.
GetPDocOwnersCount
FUNCTION GetPDocOwnersCount(iRegionID PLS_INTEGER, dDateFrom DATE, dDateTo DATE, iDateFromClsID PLS_INTEGER, iDateToClsID PLS_INTEGER, sValue VARCHAR2, iValueClsID PLS_INTEGER, iMonthsFrom PLS_INTEGER := NULL, iMonthsTo PLS_INTEGER := NULL, iIncludeFrom PLS_INTEGER := 1, iIncludeTo PLS_INTEGER := 1, sValuesExtra VARCHAR2 := NULL, sCertExtra VARCHAR2 := NULL, iAddClsID PLS_INTEGER := NULL, sAddValue VARCHAR2 := NULL, iCountFrom PLS_INTEGER := 1, iCountTo PLS_INTEGER := 0) RETURN PLS_INTEGER;
Описание
Вычисляет количество людей, имеющих заданные реквизиты таблиц.
Параметры:
- iRegionID - район, люди в котором считаются. Если null, то считается по всем районам.
- dDateFrom, dDateTo - диапазон дат, на который требуется наличие документа. Они могут отсутствовать или совпадать; может быть указана только одна из них
- iDateFromClsID, iDateToClsID - class_id реквизитов, содержащих соответствующие даты. если соответствующая дата указана, а class_id - нет, то эта дата будет влиять только на дополнительные ДПК отсутствие в документе реквизита с датой «По» трактуется как отсутствие ограничения по сроку окончания
- sValue, iValueClsID - значение и class_id «базового» реквизита; если указаны, то будут считаться только обладатели документа с соответствующим значением этого реквизита.
- iMonthsFrom, iMonthsTo - возрастной диапазон человека. Если не указан, то не учитывается. Необязательно указывать обе границы.
- iIncludeFrom, iIncludeTo - включительно или нет считается соответствующий возраст (1=да) если указана дата «С», то возраст берётся на неё; если нет, но дата «По», то возраст берётся на неё; в противном случае возраст считается на текущую системную дату.
- sValuesExtra - дополнительные проверяемые реквизиты документа: условия на значения реквизитов задаются в виде class_id=value для простых реквизитов class_id записывается в виде #№№№№ для вложенных таблиц в виде ##№№№№ допустимые операции: + = или = or, * = и = and, ! = не = not, а также скобки; вычисления производятся справа налево с учётом старшинства «не» > «и» > «или», например: (#3492=1)*(##3126=25) - ДПК выдан (class_id=3492) и подкатегория равна 25 (class_id=3126)
- sCertExtra - дополнительно проверяемые реквизиты ДПК: правила составления выражения те же самые, class_id должны соответствовать class_id соответствующих реквизитов ДПК если указаны даты, то они также распространяются и на ДПК наличие реквизита «Отметка о выдаче» также необходимо указывать в условии.
Статистика по ЖКУ
GetHCS26Table1
FUNCTION GetHCS26Table1(iRegionID PLS_INTEGER, dFrom DATE, dTo DATE) RETURN uszn.TStatTbl;
Описание
Форма 26-ЖКХ. Таблица 1. «Распределение численности граждан, пользующихся социальной поддержкой по оплате жилья
и коммунальных услуг». Возвращает в виде uszn.TStatTbl, где
n1 - равняется 1, если это группа признаков учёта; 0, если это папка групп признаков учёта
n2 - id группы (или папки групп) признаков учёта
n3 - region_id группы (или папки групп) признаков учёта
n4 - количество субъектов назначения с членами семей, на которых распространились суммы
n5 - количество субъектов назначения
n6 - сумма выделенных средств.
GetHCS26Table2
FUNCTION GetHCS26Table2(iRegionID PLS_INTEGER, dFrom DATE, dTo DATE) RETURN uszn.TStatTbl;
Описание
Формы 26-ЖКХ. Таблица 2. «Распределение численности граждан, пользующихся социальной поддержкой по оплате жилья
и коммунальных услуг, и средств, затраченных организациями на их предоставление, по видам услуг». Возвращает в
виде uszn.TStatTbl, где
n1 - жилищные
n2 - отопление
n3 - водоснабжение горячее
n4 - водоснабжение холодное
n5 - водоотведение (канализация)
n6 - газоснабжение
n7 - электроснабжение
n8 - порядковый номер строки в форме.
GetHCS26Table1New
FUNCTION GetHCS26Table1New(iRegionID PLS_INTEGER, dFrom DATE, dTo DATE) RETURN uszn.TStatTbl;
Описание
Форма 26-ЖКХ. Таблица 1 - для формы, действующей с 2007 года.
Значения столбцов:
- name - description папки для итогов и подитогов, abbr группы - для групп признаков учёта;
- n1 - 1 для итогов и подитогов, 0 для групп признаков учёта;
- n2 - ID папки групп признаков учёта (для итогов и подитогов) или группы признаков учёта (для групп);
- n3 - ID района папки групп признаков учёта (для итогов и подитогов) или группы признаков учёта (для групп);
- n4-n11 - показатели численности граждан;
- n12 - сумма МСП по ЖКУ (руб).;
- n13 - сумма МСП по ЖКУ (руб). из бюджета субъекта РФ;
- n50 - признак первой строки подитогов или первой группы признаков учёта в папке: 0 - не первая, 1 - первая, null - общий итог.