BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: 6.0 перемещение в группу (РЕШЕНО)
СообщениеДобавлено: 16 сен 2013, 10:13 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2677
Карма: 72
Помогите изменить скрипт
Скуб делал "Перемещение в группу через 3 месяца если не было движения денег в наработке"
Я хочу его отредактировать под 6.0 есть что то поменялось и изменить моменты:
1) сделать что бы в место наработки проверял баланс и если равен или меньше например 1000 что бы перемещал в группу.
2) Убрать установку закрытого периода
3) Сделать заявку на отключение


Последний раз редактировалось zavndw 14 авг 2014, 10:53, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 6.0 перемещение в группу
СообщениеДобавлено: 16 сен 2013, 11:34 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
1)
Код:
BalanceUtils bu = new BalanceUtils(con);
BigDecimal summa5 = bu.getBalance(nowDate.getTime(), cid);

2) Не понял, чего?
3)CRM я ж подсказывал вроде как
Код:
RegisterTaskManager rtm = new RegisterTaskManager( con ) ;
RegisterTask rt = new RegisterTask(); 
rt.setContractId(cid);
rt.setAddressParamId( 1 );
rt.setOpenUserId( 0 );
rt.setTypeId( 41 );
rt.setStatus( 0 );
rt.setComment( "Создана автоматически скриптом" ) ;
rt.setGroupId(4);
rtm.updateTask(rt, 0 );

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 6.0 перемещение в группу
СообщениеДобавлено: 16 сен 2013, 11:47 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2677
Карма: 72
в описании "устанавливает закрытый период"
как я понял надо убрать этот кусок
Код:
int mounth = TimeUtils.monthsDelta(contract_balance,dateNow);
 
      if (mounth > 3 )
      {
         print ("Контракт с сидом " + cid);
         String update_query = "update contract set gr=0 where id = "+ cid;
         PreparedStatement ps = con.prepareStatement( update_query );
         ps.executeUpdate() ;
                        //устанавливает закрытый период=начало
         String close_query = "update contract set date2 = '" + dateSql + "' where id = "+ cid;
         PreparedStatement rs = con.prepareStatement( close_query );
         rs.executeUpdate() ;
                        //устанавливает закрытый период=конец
         cpu = new ContractParamUtils( con );
         cpu.setGroup( cid, 19 );
         i++;
      }
   }
    print("кол-во " +i );
    contractRs.close();
    contractPs.close();   
}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 6.0 перемещение в группу
СообщениеДобавлено: 16 сен 2013, 12:12 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
вопрос о закрытии договора? это ненада?

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 6.0 перемещение в группу
СообщениеДобавлено: 16 сен 2013, 12:15 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
вообще так

Код:
int mounth = TimeUtils.monthsDelta(contract_balance,dateNow);
 
      if (mounth > 3 )
      {
         print ("Контракт с сидом " + cid);
         cpu = new ContractParamUtils( con );
         cpu.setGroup( cid, 19 );
         i++;
//это добавит группу
      }
   }
    print("кол-во " +i );
    contractRs.close();
    contractPs.close();   
}

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 6.0 перемещение в группу
СообщениеДобавлено: 16 сен 2013, 12:55 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2677
Карма: 72
Да не нужно закрытие. С группой должников работает отдел обзвона)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 6.0 перемещение в группу
СообщениеДобавлено: 16 сен 2013, 12:57 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2677
Карма: 72
вот что получается без crm:
Код:
package ru.skyb.scripts.global;
 
import ru.bitel.bgbilling.kernel.script.server.dev.GlobalScriptBase;
import ru.bitel.bgbilling.server.util.Setup;
import ru.bitel.common.sql.ConnectionSet;
import java.sql.*;
import java.util.*;
import java.util.Date;
 
import bitel.billing.common.TimeUtils;
import bitel.billing.server.contract.bean.*;
 
public class archive extends GlobalScriptBase {
   @Override
   public void execute(Setup setup1, ConnectionSet connectionSet2)
         throws Exception {
 
      Connection con = connectionSet2.getConnection();
      Calendar calendar = Calendar.getInstance();
      GregorianCalendar nowDate = (GregorianCalendar) calendar.clone();// клонируем
                                                         // дату
                                                         // для
                                                         // дальнейшей
                                                         // работы
      nowDate.get(Calendar.DATE);
      GregorianCalendar sqlDate = (GregorianCalendar) calendar.clone();
      Date dateSql = TimeUtils.convertCalendarToSqlDate(sqlDate);
      Date dateNow = TimeUtils.convertCalendarToDate(nowDate);// переводим
                                                // дату в тип
                                                // Date с типа
                                                // Calendar
      String query = "select id from contract where gr&(1<<3)>0";
      PreparedStatement contractPs = con.prepareStatement(query);
      ResultSet contractRs = contractPs.executeQuery();
      int cid;
      int i = 0;
      while (contractRs.next()) {
         cid = contractRs.getInt(1);
 
         ContractManager contract = new ContractManager(con);
         Contract ct = contract.getContractById(cid);
         /*
          * getLastBalanceMonth public
          * java.util.Date getLastBalanceMonth(Contract contract) возращает
          * самый старший месяц, за который есть данные по Балансу
          */
         BalanceUtils bu = new BalanceUtils(con);
    BigDecimal summa5 = bu.getBalance(nowDate.getTime(), cid);
    if (contract_balance == null) {
            continue;
         }
         // ==========================close==============================//
         int mounth = TimeUtils.monthsDelta(contract_balance,dateNow);
 
      if (mounth > 3 )
      {
         print ("Контракт с сидом " + cid);
         cpu = new ContractParamUtils( con );
         cpu.setGroup( cid, 19 );
         i++;
    //это добавит группу
      }
   }
    print("кол-во " +i );
    contractRs.close();
    contractPs.close();   
}

как ее грамотно прикрутить=)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 6.0 перемещение в группу
СообщениеДобавлено: 16 сен 2013, 13:07 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
у меня другой немного смысл заложен. у меня сравнивается месяц который был последний по наработке, и текущий, если больше 3, то делаем чего нада. а как быть с исходящим остатком? 3 месяца от куда брать то?

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 6.0 перемещение в группу
СообщениеДобавлено: 16 сен 2013, 15:39 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2677
Карма: 72
вот бы суммировать если исходящий остаток за 3 мес равен или меньше чем -1080


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 6.0 перемещение в группу
СообщениеДобавлено: 26 сен 2013, 13:39 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
skyb писал(а):
у меня сравнивается месяц который был последний по наработке, и текущий

У меня так же. IMHO это самый простой и удобный метод, т.к. все данные можно сразу, без доп. вычислений, увидеть в клиенте просто открыв договор - это помогает операторам понять почему с клиентом произошло перемещение/закрытие.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 6.0 перемещение в группу
СообщениеДобавлено: 14 авг 2014, 08:07 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2677
Карма: 72
skyb Скопировал скрипт с вики на дин коде и ругается, что может быть не так?


Вложения:
skyb.png
skyb.png [ 8.77 КБ | Просмотров: 6002 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 6.0 перемещение в группу
СообщениеДобавлено: 14 авг 2014, 09:24 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
класс называется archive а не GlobalScriptBase , и да, желательно с большой буквы называть его и в коде поменять
public class archive extends GlobalScriptBase {
вот тут название

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 6.0 перемещение в группу
СообщениеДобавлено: 14 авг 2014, 10:23 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2677
Карма: 72
skyb писал(а):
класс называется archive а не GlobalScriptBase , и да, желательно с большой буквы называть его и в коде поменять
public class archive extends GlobalScriptBase {
вот тут название

спасибо! заработало


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

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


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

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


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

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