Добавление услуг для системы Wialon

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

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

просмотр истории страницы
h5. Алгоритм создания услуги для обсчета количества объектов Wialon:
h1. Создание услуги
h5. Предположим, необходимо создать услугу, по которой каждый день производилось бы списание по 3 рубля за 1 объект на стороне Wialon. Для этого необходимо:
# Перейти на вкладку "Управление абонентами и тарифами - справочники - типы сенсоров". Ввести название сенсора (подойдет любое, например sensor_1) и сохранить

!type_sensor.png|border=1!

# Перейти на вкладку "Управление абонентами и тарифами - тарификация - услуги/бонусы"
# В открывшемся меню перейти на вкладку "Счетчик" и нажать добавить

!add_service.png|border=1!
# В меню добавления услуги необходимо заполнить следующие поля:
*Вид сервиса* - Sensor
*Тип сенсора* - Выбрать созданный на 1 этапе sensor_1
*Цена за единицу* - Указать цену за 1 объект. В данном случае цена будет *3*
*Метод списания* - Указываем ежедневный
!service_1.png|border=1!
# Так же в услуге на вкладке "Для разработчиков" необходимо выбрать пункте *Единица измерения* шт.
!service_3.png|border=1!
# После этого услугу можно сохранить и добавить её в необходимый тариф

h1. Описание
h5. Описание работы тарифа:
* В планировщике задач стоит запись о выполнении скрипта один раз в день
* Данный скрипт получает список ext_id всех абонентов, у которых активна услуга с типом счетчик и у которых указан метод списания *Ежедневно*
Запрос, который получает данные:
{code}
select distinct u.ext_id from users u left join abonents a on a.id=u.abonent_id left join tarif t on t.id=a.tarif_id left join tarif_users_usluga tuu on tuu.tarif_id=t.id left join usluga us on us.id=tuu.usluga_id where us.usluga_abon_type_id=3 and us.service_type_id=4 and u.deleted=0
{code}
* По каждому ext_id Carbon Billing 5 отправляет запрос на Wialon и запрашивает количество объектов, которые привязаны к этому ext_id
* Далее полученные значения скрипт записывает в cdr файл в следующем порядке:
{code}
ext_id;5;1;cdr_v
{code}
где:
5 - идентификатор единиц измерения у услуге (5 - шт.)
1 - идентификатор созданного тип сенсора

h5. Пример конкретного абонента.
Предположим, у абонента на стороне Wialon создано 6 объектов и он имеет ext_id 777. При этом абоненту присвоен тариф, который описан выше. В таком случае биллинг будет выполнять следующий алгоритм:
# Будет запущен скрипт в 3 часа 30 минут, исходя из планировщика задач
# Скрипт получит, что у абонента с id 777 на стороне Wialon есть 6 объектов
# Скрипт запишет в cdr следующие параметры и перенесет их в папку */var/cdr/Wialon_1/*:
{code}
777;5;1;6
{code}
# Биллинг найдет абонента по идентификатору 777 и умножит количество объектов (6) на стоимость одного объекта(3). После этого полученное значение запишет в *расход/предоплату*
!rash_pred.png|border=1!
# Так же это значение попадет на вкладку *Расход*
!rashod.png|border=1!
# В стандартном акте данный расход будет отображаться следующим образом
!act.png|border=1!