forum.bitel.ru
http://forum.bitel.ru/

Как правильно отфильтровывать по группам
http://forum.bitel.ru/viewtopic.php?f=12&t=9151
Страница 1 из 1

Автор:  skyb [ 13 апр 2014, 19:32 ]
Заголовок сообщения:  Как правильно отфильтровывать по группам

Собственно сабж, в зависимости от группы необходимо выводить разные параметры.
Код:
        int gr = filter.getIntParam("gr");

выдает не то совсем, на группу с id 5, в выводе цифра 8

Автор:  skyb [ 13 апр 2014, 20:41 ]
Заголовок сообщения:  Re: Как правильно отфильтровывать по группам

проблему обошел, но интересно как правильно то это делается =)

Автор:  dimOn [ 13 апр 2014, 23:44 ]
Заголовок сообщения:  Re: Как правильно отфильтровывать по группам

в смысле? непонятен вопрос. это потому что не номер группы приходит, а маска групп, как во всех остальных местах, отчётах, шаблонах, скриптах и таблицах бд биллинга.
хотя вот 8 = 1000b -> на id=5 не похоже. что-то где-то напутано. но в целом я пояснил.

Автор:  skyb [ 14 апр 2014, 05:46 ]
Заголовок сообщения:  Re: Как правильно отфильтровывать по группам

а как правильно кодом ее обработать? тоесть выявить соответствие id группы и то что передается из фильтра?

Автор:  Artur [ 14 апр 2014, 09:17 ]
Заголовок сообщения:  Re: Как правильно отфильтровывать по группам

Для ваших целей есть 2 метода в классе ru.bitel.common.Utils:
Код:
/**
    * Преобразует строку вида "1,2,3" в маску длинного целого.
    * @param mask строка
    * @return маска
 */
public static final long enumToMask( String mask )



и

Код:
/**
    * Преобразование битовой маски в строку  вида 1,2,3.
    * Последний/левый (63-й) бит не обрабатывается и, соответственно, не выводится!
    * Так что и 0xFFFFFFFFFFFFFFFFL и 0x7FFFFFFFFFFFFFFFL даёт "0,1,…,62".
    * @param mask маска, длинное целое
    * @return строка
    */
   public static String maskToEnum( long mask )

Автор:  skyb [ 14 апр 2014, 09:57 ]
Заголовок сообщения:  Re: Как правильно отфильтровывать по группам

О, абалдеть, спасибо, записал

Автор:  Artur [ 14 апр 2014, 09:58 ]
Заголовок сообщения:  Re: Как правильно отфильтровывать по группам

skyb писал(а):
О, абалдеть, спасибо, записал


Ну, и традиционно: Спасибо в карму не положишь (с) =)

Автор:  skyb [ 14 апр 2014, 10:03 ]
Заголовок сообщения:  Re: Как правильно отфильтровывать по группам

Artur писал(а):
skyb писал(а):
О, абалдеть, спасибо, записал


Ну, и традиционно: Спасибо в карму не положишь (с) =)

Цитата:
You must spread your reputation point to other users before giving to the same user.

:(

Автор:  Artur [ 14 апр 2014, 10:08 ]
Заголовок сообщения:  Re: Как правильно отфильтровывать по группам

skyb писал(а):
Artur писал(а):
skyb писал(а):
О, абалдеть, спасибо, записал


Ну, и традиционно: Спасибо в карму не положишь (с) =)

Цитата:
You must spread your reputation point to other users before giving to the same user.

:(


Повод полазить по другим темам, а потом вернуться в эту =)

Автор:  skyb [ 14 апр 2014, 10:10 ]
Заголовок сообщения:  Re: Как правильно отфильтровывать по группам

Artur писал(а):
skyb писал(а):
Artur писал(а):
skyb писал(а):
О, абалдеть, спасибо, записал


Ну, и традиционно: Спасибо в карму не положишь (с) =)

Цитата:
You must spread your reputation point to other users before giving to the same user.

:(


Повод полазить по другим темам, а потом вернуться в эту =)

добавил в напоминания, как откармлю каму-нить, вернусь =)

Автор:  dimOn [ 14 апр 2014, 12:51 ]
Заголовок сообщения:  Re: Как правильно отфильтровывать по группам

ну или напрямую в SQL можно биты проверять

Автор:  Phricker [ 14 апр 2014, 13:04 ]
Заголовок сообщения:  Re: Как правильно отфильтровывать по группам

skyb писал(а):
добавил в напоминания, как откармлю каму-нить, вернусь =)

Не знаешь кому >>>> ЖМИ СЮДА <<<<

Автор:  Artur [ 14 апр 2014, 13:07 ]
Заголовок сообщения:  Re: Как правильно отфильтровывать по группам

dimOn писал(а):
ну или напрямую в SQL можно биты проверять


Расшифровываю по-русски:

contract.gr&group mask > 0

Автор:  Phricker [ 14 апр 2014, 13:16 ]
Заголовок сообщения:  Re: Как правильно отфильтровывать по группам

А скольки людям надо раздать плюсов, чтобы можно было давать тому же, кому уже давал?
Что-то захотел плюсануть, т.к. не обращал внимания на Utils, но ошибка такая же.
Хотя плюсовал аж в январе. Либо я скупердяй либо там большой лимит )

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/