BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 28 июн 2025, 00:53

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 46 ]  На страницу Пред.  1, 2
Автор Сообщение
СообщениеДобавлено: 06 авг 2010, 06:52 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Не то. Вопрос не в том, какой статус каким может перетираться. Любой может перетираться любым, если речь идёт об установке статуса из клиента BG. Если же статус изменяется каким-нибудь автоматическим процессом, то логика усложняется - какие-то статусы в будущем иногда нужно оставлять нетронутыми. Это зависит от логики самого процесса и специфики оператора. Поэтому и предлагаю для каждого процесса, меняющего статус, хранить свой конфиг.
dimOn писал(а):
То есть получается, что для каждого случая будет какой-то свой приоритет у статусов фиксированный, жёстко прописанный в конфигах. В бд он в смысле не сохраняется для каждого установленного промежутка...

Хм, ну да - выходит так..


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 авг 2010, 15:13 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Записал в TODO и начал думать.

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 09 авг 2010, 20:50 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Cromeshnic писал(а):
Не то. Вопрос не в том, какой статус каким может перетираться. Любой может перетираться любым, если речь идёт об установке статуса из клиента BG. Если же статус изменяется каким-нибудь автоматическим процессом, то логика усложняется - какие-то статусы в будущем иногда нужно оставлять нетронутыми. Это зависит от логики самого процесса и специфики оператора. Поэтому и предлагаю для каждого процесса, меняющего статус, хранить свой конфиг.
dimOn писал(а):
То есть получается, что для каждого случая будет какой-то свой приоритет у статусов фиксированный, жёстко прописанный в конфигах. В бд он в смысле не сохраняется для каждого установленного промежутка...

Хм, ну да - выходит так..



Это будет сложно . И по истории статусов в текущем виде будет очень сложно понять что происходило .так иногда будет перетирать, иногда ну будет .Поэтому алгоритм будет единым во всех случаях


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 авг 2010, 18:37 
Не в сети

Зарегистрирован: 16 ноя 2007, 16:11
Сообщения: 829
Карма: 49
stark писал(а):
vdd писал(а):
Цитата:
мы можем сделать галочку "ничего - не делать со статусами в будущем" .сами будите это расхлёбывать.

Так мы это и просили под названием "отключаемая автоматика" ;)

Прошлые статусы, надеюсь, никому не пришло в голову перетирать?



Хорошо ..Но в идеале отключить автоматику - это значит , что вообще ничего не делаем. Т.е меняете статус сегодня ..и СЕГОДНЯ и ТОЛЬКО сегодня он меняется. А завтра и тп он остаётся старым ..вдумайтесь в это ..вы хотите этого ?
Пример:
с01.07.2010 - 10.07.2010 - активен
11.07.2010 - 20.07.2010 - приостанолвлен
с 21.07.2010 - активен

И тут его закрывает по балансу 6-го числа .. Становится так

с 01.07.2010 - 05.07.2010 - активен
с 06.07.2010 - 06.07.2010 - закрыт
с 07.07.2010 - 10.07.2010 - актвивен // внимание - ( вы точно этого хотите ??? ) .мы же не меняем статус в будущем или как ? или все-таки меняем ?
11.07.2010 - 20.07.2010 - приостановлен
с 21.07.2010 - активен //а тут вы точно уверены ?

Или вы хотите так ?
с 01.07.2010 - 05.07.2010 - активен
с 06.07.2010 - 10.07.2010 - закрыт
11.07.2010 - 20.07.2010 - приостановлен
с 21.07.2010 - активен //мне этоn вариант тоже не нравится

Покажите на это конкретном примере .как работает ваша отключаемая автоматика ? а то я додумываю, додумываю . А вы сами может сами на этом конкретном примере
показать как должна отработать "отключаемая автоматика "? я пока не могу понять что вы хотите . вот helpdesk -е нам точно сказали, хотим чтобы статусы приостановлен не перетирались , остальное перетиралось .Это и реализуем .. ждем более внятного объяснения от вас


То есть кому то приспичило изменить старый алгоритм, а мы должны что-то доказывать?
Я привел вам реальную причину, которая может потребовать сохранить статус, каким бы "кривым" он не казался кому-то другому. Не верите в реальность - ваше право и ваша исходники. Перебирать все возможные сочетания статусов на их пригодность - у нас в организации нет Ванг, Нострадамусов, Глобов и прочих специалистов по гаданию на кофейной гуще.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 авг 2010, 18:49 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
vdd писал(а):

То есть кому то приспичило изменить старый алгоритм, а мы должны что-то доказывать?
Я привел вам реальную причину, которая может потребовать сохранить статус, каким бы "кривым" он не казался кому-то другому. Не верите в реальность - ваше право и ваша исходники. Перебирать все возможные сочетания статусов на их пригодность - у нас в организации нет Ванг, Нострадамусов, Глобов и прочих специалистов по гаданию на кофейной гуще.


так пока единый алгоритм усматривает вашим требованиям .просто его надо изменить


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 авг 2010, 18:54 
Не в сети

Зарегистрирован: 16 ноя 2007, 16:11
Сообщения: 829
Карма: 49
stark писал(а):
vdd писал(а):

То есть кому то приспичило изменить старый алгоритм, а мы должны что-то доказывать?
Я привел вам реальную причину, которая может потребовать сохранить статус, каким бы "кривым" он не казался кому-то другому. Не верите в реальность - ваше право и ваша исходники. Перебирать все возможные сочетания статусов на их пригодность - у нас в организации нет Ванг, Нострадамусов, Глобов и прочих специалистов по гаданию на кофейной гуще.


так пока единый алгоритм усматривает вашим требованиям .просто его надо изменить

Так оставьте старый вариант и новый. На выбор. Указываешь в конфиге имя класса нужного алгоритма логики статуса - и полный консенсус между овцами и волками.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 11 авг 2010, 18:57 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
vdd писал(а):
stark писал(а):
vdd писал(а):

То есть кому то приспичило изменить старый алгоритм, а мы должны что-то доказывать?
Я привел вам реальную причину, которая может потребовать сохранить статус, каким бы "кривым" он не казался кому-то другому. Не верите в реальность - ваше право и ваша исходники. Перебирать все возможные сочетания статусов на их пригодность - у нас в организации нет Ванг, Нострадамусов, Глобов и прочих специалистов по гаданию на кофейной гуще.


так пока единый алгоритм усматривает вашим требованиям .просто его надо изменить

Так оставьте старый вариант и новый. На выбор. Указываешь в конфиге имя класса нужного алгоритма логики статуса - и полный консенсус между овцами и волками.


да никто не спорит, так и будет . просто новый алгоритм будет тоже единым .. у нас пока статус меняется из клиента , из задачи приостановки статусов npay , из монитора статусов ..Пусть будет везде одинаково , так универсальнее.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 сен 2010, 13:26 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Сделал такую фишку, с приоритетами статусов.
Код:
#
# Приоритеты статусов для смены статусов бОльшая цифра - бОльший приоритет. Статус с меньшим приоритетом не перетирает статус с бОльшим. С одинаковыми - перетираются.
# Шесть цифр подряд, через запятую, соотвественно для статусов:
#CONTRACT_STATUS_ACTIVE = 0
#CONTRACT_STATUS_IN_DISCONNECT = 1
#CONTRACT_STATUS_DISCONNECTED = 2
#CONTRACT_STATUS_CLOSED = 3
#CONTRACT_STATUS_SUSPENDED = 4
#CONTRACT_STATUS_IN_CONNECT = 5
# по умолчанию все нули, т.е. все приоритетные одинаково, всё работает как было - все всех перетирают.
contract.status.priority=0,0,0,0,1,0
#

По ходу дела возникло больше проблем и вопросов. Основной сейчас меня мучает такой (дублирую из хелпдеска с клиентом):
Цитата:
.... если мы новый статус накладываем сверху на неперетираемые промежутки, то что в итоге получается? Несколько кусочков новых статусов записывается, он же разбивается. А настоящий новый статус сокращается до последнего. Так вот, как должно выглядеть событие смены статуса? Для одного сокращённого кусочка из всех? Или для каждого? И событие после смены - аналогично. И как эти кусочки потому в событии найти? Статус у всех сменить в скрипте нереально ведь будет, если они разным событием придут. Или надо переделать событие, чтобы все кусочки пришли одновременно? Вот вы как используете события эти, например?

дискас!

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 сен 2010, 19:38 
Не в сети

Зарегистрирован: 16 ноя 2007, 16:11
Сообщения: 829
Карма: 49
Может все таки логику статусов задавать отдельными классами и не пытаться найти единый, подходящий для всех (ну или для большинства), алгоритм?
А так можно будет у каждой группы договоров прописать свою логику.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 сен 2010, 19:42 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
это сложно. и непонятно, как это сделать для отдельных групп договоров тем более.

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 07 сен 2010, 06:16 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Это работает для любой смены статуса, или только автоматической (с uid=0)?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 07 сен 2010, 11:36 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
для любой. но, возможно, стоит сделать для трёх случаев такое разделение по приоритетам статусов: для админки, для веба и для автоматического? это не сильно усложнит.

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 07 сен 2010, 11:56 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Если для любой, то единожды установленный статус с наивысшим приоритетом уже ничем не перетрёшь. Нужно разделение, да.
Вообще, похоже, пока не попробуешь, не поймешь, какие тут подводные камни.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 07 сен 2010, 12:35 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Ну, значит будет разделение...

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 08 сен 2010, 17:15 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Сделал для разных случаев приоритеты, проверил, вроде работает всё. Заливать в 5.1 пока боюсь - всё там переделал и поломал, а у нас тут выходные дни начинаются на половину недели. Так что, наверно, до понедельника.

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 13 сен 2010, 16:00 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Всё в новой теме
viewtopic.php?f=22&t=4544

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 46 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.062s | 51 Queries | GZIP : On ]