Интеграция с СОРМ3 VasExperts

Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (3)

просмотр истории страницы
where u.id>0;
{code}
Тот же отчёт, в который попадает только информация, добавленная за последний час.
*/app/asr_billing/cfg/sorm3/service_list-periodic.sql*
{code}
set heading off; select
'"' || U.ID || '";"' || --id услуги --
iif (U.NAME='', 'Удаленная услуга', U.NAME) || '";"' || --имя услуги --
coalesce(U.COMMENTS,'') || '";"' || --описание услуги --
coalesce((
select first 1 CAST(lpad(EXTRACT(DAY FROM UH.TIME_CHANGED),2,'0') AS varchar(2)) ||'.'|| CAST(lpad(EXTRACT(MONTH FROM UH.TIME_CHANGED),2,'0') AS varchar(2)) ||'.'|| EXTRACT(YEAR FROM UH.TIME_CHANGED)
from
usluga_history uh
where
uh.usluga_id = u.id
),'01.01.2018') || '";"' || --дата создания услуги (дата активации услуги)--
case
when U.DELETED=1
then coalesce ((select first 1 CAST(lpad(EXTRACT(DAY FROM UH.TIME_CHANGED),2,'0') AS varchar(2)) ||'.'|| CAST(lpad(EXTRACT(MONTH FROM UH.TIME_CHANGED),2,'0') AS varchar(2)) ||'.'|| EXTRACT(YEAR FROM UH.TIME_CHANGED)
from
usluga_history uh
where
uh.usluga_id = u.id
and UH.deleted=1
),'01.01.2018')
else ''
end || '";"' || --дата удаления услуги (дата деактивации услуги)-- */
'Ethernet"' --тип сети
from
USLUGA U
where u.id>0
and (u.id in (select usluga_id from usluga_history where time_changed between dateadd (-1 hour to current_timestamp) and current_timestamp));
{code}
h2. 3. Выгрузка услуг по абонентам
*/app/asr_billing/cfg/sorm3/services.sql*
and u.id > 0;
{code}
Тот же отчёт, в который попадает только информация, добавленная за последний час.
*/app/asr_billing/cfg/sorm3/services-periodic.sql*
{code}
set heading off; select distinct
'"' || U.ID || '";"' || --id услуги --
A.ID || '";"' || --id абонента--
'";"";"' || '";"' || -- ID лицевого счёта, ID точки подключения, ID договора--
U.NAME || '";"' || --имя услуги --
coalesce(CAST(lpad(EXTRACT(DAY FROM UU.ENABLE_DATE),2,'0') AS varchar(2))||'.'|| CAST(lpad(EXTRACT(MONTH FROM UU.ENABLE_DATE),2,'0') AS varchar(2))||'.'|| EXTRACT(YEAR FROM UU.ENABLE_DATE),CAST(lpad(EXTRACT(DAY FROM UU.CREATE_DATE),2,'0') AS varchar(2))||'.'|| CAST(lpad(EXTRACT(MONTH FROM UU.CREATE_DATE),2,'0') AS varchar(2))||'.'|| EXTRACT(YEAR FROM UU.CREATE_DATE)) || '";"' || --дата создания услуги--
case when UU.DELETED=1 then
coalesce((select first 1 CAST(lpad(EXTRACT(DAY FROM UUH.TIME_CHANGED),2,'0') AS varchar(2))||'.'|| CAST(lpad(EXTRACT(MONTH FROM UUH.TIME_CHANGED),2,'0') AS varchar(2))||'.'|| EXTRACT(YEAR FROM UUH.TIME_CHANGED) from users_usluga_history uuh where uuh.USERS_USLUGA_ID = uu.id and UUH.deleted=1),CAST(lpad(EXTRACT(DAY FROM UU.NEXT_DATE),2,'0') AS varchar(2))||'.'|| CAST(lpad(EXTRACT(MONTH FROM UU.NEXT_DATE),2,'0') AS varchar(2))||'.'|| EXTRACT(YEAR FROM UU.NEXT_DATE))
else ' ' end || '"' --дата удаления услуги--
from USERS_USLUGA UU
join abonents a on a.id=uu.abonent_id
join usluga u on uu.usluga_id = u.id
where a.is_folder=0
and a.id >0
and a.parent_id not in (2,244)
and u.id > 0
and uu.id in (select distinct users_usluga_id from users_usluga_history where time_changed between dateadd (-1 hour to current_timestamp) and current_timestamp);
{code}
h2. 4. Выгрузка платежей абонентов
*/app/asr_billing/cfg/sorm3/payments.sql*
and a.id is not null and a.id>0;
{code}
Тот же отчёт, в который попадает только информация, добавленная за последний час.
*/app/asr_billing/cfg/sorm3/payments-periodic.sql*
{code}
set heading off; select distinct
'"' || A.ID || '";"' || --id абонента --
'";"' || --код абонента, зарезервировано на будущее--
-- fo.OP_DATE || '";"' || --Дата платежа--
CAST(lpad(EXTRACT(DAY FROM fo.OP_DATE),2,'0') AS varchar(2))||'.'|| CAST(lpad(EXTRACT(MONTH FROM fo.OP_DATE),2,'0') AS varchar(2))||'.'|| EXTRACT(YEAR FROM fo.OP_DATE) || 'T' ||
CAST(lpad(EXTRACT(HOUR FROM fo.OP_DATE),2,'0') AS varchar(2))||':'|| CAST(lpad(EXTRACT(MINUTE FROM fo.OP_DATE),2,'0') AS varchar(2))||':'|| lpad(CAST(EXTRACT(SECOND FROM fo.OP_DATE) as integer),2,'0') || '";"' ||
round(fo.op_summa / cast((select CONST_VALUE from VPN_CONST where CONST_ID = 1) as numeric(18,5)), 2) || '";"' || --Сумма платежа--
iif(fo.OPERATOR_NAME is not null and fo.OPERATOR_NAME<>'',fo.OPERATOR_NAME,'Admin')|| '";"' ||
coalesce (fo.ADMIN_COMMENT,'') || '"' --раметры платежа, строка, размер 512, дополнительная информация по платежу в неструктурированном виде, при её наличии--
from abonents a
left join finance_operations as fo
on a.id=fo.abonent_id where
OP_TYPE=2 and
A.IS_FOLDER=0
and a.parent_id not in (2,244)
and a.id is not null
and a.id>0
and ((fo.op_date between dateadd (-1 hour to current_timestamp) and current_timestamp) or ((fo.operator_name='' or fo.operator_name is null) and (fo.SYSTEM_DATE between dateadd (-1 hour to current_timestamp) and current_timestamp)));
{code}
h2. 5. Формат выгрузки на удаление абонентов из БД
*/app/asr_billing/cfg/sorm3/deleted_abonents.sql*