Программный продукт "Атирра" > Вопросы по работе программы

SQL запрос смена тарифа

(1/1)

inettel:
Добрый день, нужна помощь с SQL со следующими запросами:


* выбрать все услуги у абонента, с определенным ACCOUNT_NO
* удалить услугу у абонента
* добавить услугу абоненту
И вопрос, как будет рассчитываться оплата, если данное действие произвести в середине месяца (смена услуги с одной стоимостью, на услугу с другой стоимостью)

Спасибо
 

Шумко Дмитрий:
1.
--- Код: (sql) ---select
    s.Service_Id -- ИД услуги
    , s.Name -- Название услуги
  from services s
       inner join subscr_hist sh on (s.Service_Id = sh.Serv_Id)
       inner join customer c on (sh.Customer_Id = c.Customer_Id)
  where current_date between sh.Date_From and sh.Date_To
        and c.Account_No = '111'
--- Конец кода ---

2. Удалить или отключить?
Код отключения услуги

--- Код: (sql) ---execute procedure Onoff_Service_By_Id(
  :Customer_Id -- Ид абонента
 , :Serv_Id    -- Ид услуги
 , :Actservice -- Какой услугой отключаем
 , :Date       -- Дата отключения, должна быть больше даты подключения
 , 1           -- признак того что отключаем
 , :Notice     -- примечание
 , :Units      -- 1 или сумма стоимсоть отключения
);
--- Конец кода ---

3. Добавление а не включение услуги

--- Код: (sql) ---execute procedure Add_Subscr_Service(
  :Customer_Id -- Ид абонента
 , :Serv_Id    -- Ид услуги
 , :Actservice -- Какой услугой подключаем
 , :Date       -- Дата подключения
 , :Notice     -- примечание
 , :Units      -- 1 или сумма стоимсоть отключения
 , null        -- договор или null если не нужен
 , null        -- дата договора или null если не нужен
);
--- Конец кода ---

Оплата рассчитывается для каждого типа услуг по разному.
если периодическая услуга рассчитывается пропорционально подключенным дням, т.е. за фактически подключенные дни, то так и абонплата будет только за эти дни.

если алгоритм начисления 0 или полная абонплата если абонент подключен более Х дней, то будет 0 или полная абонплата.

Что мешает проверить начисления на тестовом абоненте?
создайте абонента. "поиграйте" с услугами. удалите абонента.

inettel:
Спасибо, буду пробовать.

Навигация

[0] Главная страница сообщений

Перейти к полной версии