BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 28 мар 2024, 15:40

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




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: [5.1] Не работает метод getNoClosedTaskList
СообщениеДобавлено: 20 июн 2012, 16:23 
Не в сети
Аватара пользователя

Зарегистрирован: 23 мар 2009, 23:16
Сообщения: 780
Откуда: St.Petersburg
Карма: 0
У класса ru.bitel.bgbilling.plugins.crm.server.dao.RegisterTaskManager не работает метод getNoClosedTaskList - выдает пустой список, хотя задачи открытые у договора есть. Пробовал даже их принимать - эффект тот же, пустой список на выходе метода.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 июн 2012, 17:14 
Не в сети
Разработчик

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

Код:
SELECT * FROM register_task WHERE cid=XXX AND status IN (0, 1)


где XXX - id договора.


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

Зарегистрирован: 23 мар 2009, 23:16
Сообщения: 780
Откуда: St.Petersburg
Карма: 0
Задача на месте.

Код:
mysql> SELECT * FROM register_task WHERE cid=3964 AND status IN (0, 1);
+-------+------+------------+------+------+---------------------+----------+-----------+------------+---------------------+-----------+---------------------+--------+--------+-----------+---------------------+-----------------------------------------------------------------------------------------+----+------------+------+------------+
| id    | cid  | aobject_id | apid | type | open_dt             | open_uid | accept_dt | accept_uid | close_dt            | close_uid | lm_dt               | lm_uid | status | processed | target_dt           | comment                                                                                 | gr | resolution | prid | execute_dt |
+-------+------+------------+------+------+---------------------+----------+-----------+------------+---------------------+-----------+---------------------+--------+--------+-----------+---------------------+-----------------------------------------------------------------------------------------+----+------------+------+------------+
| 18901 | 3964 |          0 |   13 |    1 | 2012-06-19 20:01:58 |        0 | NULL      |        -10 | 2012-06-20 14:33:44 |         0 | 2012-06-20 14:29:18 |      5 |      0 |         0 | 2012-06-26 20:01:00 | Закрыто автоматически по отказу от подключения |  6 |            |    0 | NULL       |
+-------+------+------------+------+------+---------------------+----------+-----------+------------+---------------------+-----------+---------------------+--------+--------+-----------+---------------------+-----------------------------------------------------------------------------------------+----+------------+------+------------+
1 row in set (0.00 sec)


Что еще интересно, так это иногда (через раз) получается вытащить список задач с помощью этого метода, когда перед его вызовом воспользоваться фильтром:

Код:
filter = new TaskFilter();
filter.cid = cid;
cnt = rtm.getTaskCount( filter );


Вообще странности. По сути, я сейчас вообще никак не могу получить список задач для договора - ни фильтром, ни getNoClosedTaskList (


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

Зарегистрирован: 23 мар 2009, 23:16
Сообщения: 780
Откуда: St.Petersburg
Карма: 0
ru.bitel.bgbilling.plugins.crm вер. 5.1 сборка 185 от 21.01.2012 01:58:39


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

Зарегистрирован: 23 мар 2009, 23:16
Сообщения: 780
Откуда: St.Petersburg
Карма: 0
Правильно ли вызываю метод? Сейчас даже с фильтром ничего не выдает, хотя было несколько раз - возвращал результат.
Вызываю closeAllTasks из события "доп.действия" договора.

Код:
public void closeAllTasks( cid )
{   

   //
   ctx = getContext();
   con = ctx.con;
   rtm = new RegisterTaskManager( con );

filter = new TaskFilter();
filter.cid = cid;
cnt = rtm.getTaskCount( filter );
print("getTaskCount="+cnt);
print("getNoClosedTaskList="+rtm.getNoClosedTaskList( cid ) );

   for ( RegisterTask task : rtm.getNoClosedTaskList( cid ) ) {

      print("task="+task);

      // закрываем очередную задачу
      task = closeTask( task, "Закрыто автоматически" );

      rtm.updateTask( task );

   }
}

public RegisterTask closeTask( RegisterTask task, String comment )
{
   CloseTaskDate = new java.util.Date();
      
   // закрываем задачу
   task.setCloseUserID( 0 );
   task.setCloseTime( CloseTaskDate );      
   task.setComment( comment );

   return task;
}


Лог выполнения

Код:
GENERATE_TIME: 20.06.12 15:37:08
EXECUTION_STOP_TIME: 20.06.12 15:37:08
PROCESS_TIME: 7

OUT:
getTaskCount=0
getNoClosedTaskList=[]


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

Зарегистрирован: 23 мар 2009, 23:16
Сообщения: 780
Откуда: St.Petersburg
Карма: 0
Похоже проблема была в контексте. Стал передавать контекст из события в функцию closeAllTasks - находит задачи и даже меняет комментарий. Только почему-то не закрывает ее. Для закрытия отдельный метод есть какой-то?


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

Зарегистрирован: 23 мар 2009, 23:16
Сообщения: 780
Откуда: St.Petersburg
Карма: 0
Так и есть - разобрался во всем. Моя вина )

Напоследок такой вот метод отсутствует, по крайней мере у меня:

RegisterTask.getId()

В документации написано, что getID() устарел, использовать getId(), а его нет. Использую getID() - ругани на deprecated нет.

PS: Может обновиться?)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 21 июн 2012, 19:30 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4489
Откуда: Уфа, Россия
Карма: 186
страно, в коде метод RegisterTask.getId() есть...


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

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


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

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


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

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