Смена расчетного периода

Технические вопросы по UTM 5.0
Ответить
Lelik85
Сообщения: 76
Зарегистрирован: Вт апр 18, 2006 16:14

Смена расчетного периода

Сообщение Lelik85 »

Исторически так сложилось, что больше половины пользователей имеют персональный расчетный период. В итоге их уже накопилась туева хуча.
Существуют ли средства корректной смены текущего расчетного периода на какой-то другой уже существующий?
Хочется узнать о возможности реализации следующих схема:
1. Приведение всех пользователей к единому расчетному периоду с 1 числа месяца длиной в месяц;
2. Объединение всех пользователей имеющих одинаковую дату начала и окончания расчетного периода в один общий (практически все начинаются такого-то числа в 00.00 и имеют длительность в месяц),получив в итоге 31 расчетный период длительностью в месяц с началом в 00.00 каждого числа.

В базе нашел вот что:
в таблице discount_periods есть поле next_discount_period_id. У работающих расчетных периодов оно имеет значение 0. У закончившихся - ID расчетного периода, который стал "преемственным".
Можно ли использовать это поле для установления следующего расчетного периода в работающем расчетном периоде и реализации нужных мне "финтов"?

Аватара пользователя
Magnum72
Сообщения: 1947
Зарегистрирован: Чт сен 22, 2005 06:54
Контактная информация:

Re: Смена расчетного периода

Сообщение Magnum72 »

Lelik85 писал(а):Исторически так сложилось, что больше половины пользователей имеют персональный расчетный период. В итоге их уже накопилась туева хуча.
Существуют ли средства корректной смены текущего расчетного периода на какой-то другой уже существующий?
Хочется узнать о возможности реализации следующих схема:
1. Приведение всех пользователей к единому расчетному периоду с 1 числа месяца длиной в месяц;
2. Объединение всех пользователей имеющих одинаковую дату начала и окончания расчетного периода в один общий (практически все начинаются такого-то числа в 00.00 и имеют длительность в месяц),получив в итоге 31 расчетный период длительностью в месяц с началом в 00.00 каждого числа.

В базе нашел вот что:
в таблице discount_periods есть поле next_discount_period_id. У работающих расчетных периодов оно имеет значение 0. У закончившихся - ID расчетного периода, который стал "преемственным".
Можно ли использовать это поле для установления следующего расчетного периода в работающем расчетном периоде и реализации нужных мне "финтов"?
можно проще помоему, на всякий случай в начале месяца стопай биллинг и меняй неправильные периоодны на номер правильного, но только чтобы сроки начала и завершения а так же длина совпадала.

Lelik85
Сообщения: 76
Зарегистрирован: Вт апр 18, 2006 16:14

Сообщение Lelik85 »

Поле discount_period_id я нашел в следующих таблицах:
- accounts
- account_tariff_link
- discount_transactions_all
- discount_transactions_iptraffic_all
- periodic_service_links
Подменять его нужно во всех перечисленых таблицах? Или же достаточто будет поменять в accounts, а по наступлении следующего расчетного периода и все связки перенесутся на правильный?

stas-av
Сообщения: 17
Зарегистрирован: Пт ноя 30, 2007 08:34

Сообщение stas-av »

Попробуй создать период длинной в месяц и в discount_periods повесить его следующим на все существующие переоды привязанные к работающим тарифам.

Залей всё это на тестовую машину и поменяй дату на машине на дату самого длинного из твоих расчетных периодов.

По идее все твои тарифы должны съехать на правельный период и подключенные на них услуги то же.

Аватара пользователя
Magnum72
Сообщения: 1947
Зарегистрирован: Чт сен 22, 2005 06:54
Контактная информация:

Сообщение Magnum72 »

Lelik85 писал(а):Поле discount_period_id я нашел в следующих таблицах:
- accounts
- account_tariff_link
- discount_transactions_all
- discount_transactions_iptraffic_all
- periodic_service_links

- accounts - тут не надо он не используется
- account_tariff_link - тут надо
- discount_transactions_all - тут можно потом, главное успеть пока новый период не кончился, иначе с отчетами и счетами фигня получится
- discount_transactions_iptraffic_all - тут можно потом, главное успеть пока новый период не кончился, иначе с отчетами и счетами фигня получится
- periodic_service_links - тут надо

на тестовой машинке проверь только сначала.

Аватара пользователя
MaxDM
Сообщения: 313
Зарегистрирован: Пн апр 03, 2006 10:26
Контактная информация:

Сообщение MaxDM »

Получилась похожая ситуация.
УТМ при переводе абонентов на новый расчетный период "грохнулся" и перезапустился.
В итоге получилось 2 расчетных периода. 1-й правильный (1934), 2-й - неправильный (он начался в 1:50) (1935).
На тестовой машине при остановленном ядре было сделано:

Код: Выделить всё

UPDATE account_tariff_link SET discount_period_id=1934 WHERE discount_period_id=1935;
UPDATE periodic_service_links SET discount_period_id=1934 WHERE discount_period_id=1935;
UPDATE discount_transactions_all SET discount_period_id=1934 WHERE discount_period_id=1935;
UPDATE discount_transactions_iptraffic_all SET discount_period_id=1934 WHERE discount_period_id=1935;
После запуска ядра всё заработало и расчетный период остался нужный (1934).

Решили пойти дальше. Перевели часы на 31 марта 23:55 и решили подождать, что будет. УТМ перевел все на новый расчетный период (1936), при этом все нормально посчиталось.

И вот тут одно НО! После перезапуска ядра (просто так, решил попробовать), УТМ вообще не стартует, грузит проц на 100% и всё!

Чего делать?

В хотлайне был задан вопрос "Как правильно перевести абонентов с одного расчетного периода на другой" - он не отвечает уже больше суток.

dwemer
Сообщения: 276
Зарегистрирован: Чт янв 25, 2007 05:59

Сообщение dwemer »

MaxDM писал(а): В хотлайне был задан вопрос "Как правильно перевести абонентов с одного расчетного периода на другой" - он не отвечает уже больше суток.
ответили уже что-нибудь?

Аватара пользователя
MaxDM
Сообщения: 313
Зарегистрирован: Пн апр 03, 2006 10:26
Контактная информация:

Сообщение MaxDM »

Ответили, что "мы не рекомендуем, что либо менять в базе." И как всегда просили дамп базы.

Pei0t
Сообщения: 258
Зарегистрирован: Чт дек 13, 2007 20:48

Сообщение Pei0t »

Ну что, кто-то менял массово РП?

Аватара пользователя
Voronok
Сообщения: 116
Зарегистрирован: Пт мар 14, 2008 19:21

Сообщение Voronok »


Pei0t
Сообщения: 258
Зарегистрирован: Чт дек 13, 2007 20:48

Сообщение Pei0t »

Voronok писал(а):viewtopic.php?p=54963#54963
Это моя тема =)

Аватара пользователя
Voronok
Сообщения: 116
Зарегистрирован: Пт мар 14, 2008 19:21

Сообщение Voronok »

Э мое сообщение там читал? )

Pei0t
Сообщения: 258
Зарегистрирован: Чт дек 13, 2007 20:48

Сообщение Pei0t »

Voronok писал(а):Э мое сообщение там читал? )
Да и ответил.

Дёня
Сообщения: 14
Зарегистрирован: Чт ноя 13, 2008 19:17

Сообщение Дёня »

MaxDM писал(а):Получилась похожая ситуация.
УТМ при переводе абонентов на новый расчетный период "грохнулся" и перезапустился.
В итоге получилось 2 расчетных периода. 1-й правильный (1934), 2-й - неправильный (он начался в 1:50) (1935).
На тестовой машине при остановленном ядре было сделано:

Код: Выделить всё

UPDATE account_tariff_link SET discount_period_id=1934 WHERE discount_period_id=1935;
UPDATE periodic_service_links SET discount_period_id=1934 WHERE discount_period_id=1935;
UPDATE discount_transactions_all SET discount_period_id=1934 WHERE discount_period_id=1935;
UPDATE discount_transactions_iptraffic_all SET discount_period_id=1934 WHERE discount_period_id=1935;
После запуска ядра всё заработало и расчетный период остался нужный (1934).

Решили пойти дальше. Перевели часы на 31 марта 23:55 и решили подождать, что будет. УТМ перевел все на новый расчетный период (1936), при этом все нормально посчиталось.

И вот тут одно НО! После перезапуска ядра (просто так, решил попробовать), УТМ вообще не стартует, грузит проц на 100% и всё!

Чего делать?

В хотлайне был задан вопрос "Как правильно перевести абонентов с одного расчетного периода на другой" - он не отвечает уже больше суток.
Pei0t писал(а):Ну что, кто-то менял массово РП?
В итоге у кого-нибудь получилось?

Ответить