BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 04 июл 2025, 16:34

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




Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
 Заголовок сообщения: Статус договора
СообщениеДобавлено: 08 май 2015, 14:30 
Не в сети

Зарегистрирован: 08 апр 2014, 11:00
Сообщения: 248
Карма: 0
Можно ли настроить так, чтоб после достижения даты закрытия договора его статус менялся на Закрыт?

_________________
Код:
Сервер: вер. 6.1.1182 / 21.11.2016 20:23:39
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.7.0_71

  bill: вер. 6.1.267 / 08.11.2016 10:26:59
  card: вер. 6.1.211 / 31.05.2016 16:01:28
  inet: вер. 6.1.737 / 25.11.2016 16:32:09
  mps: вер. 6.1.225 / 22.09.2016 12:54:08
  npay: вер. 6.1.202 / 05.10.2016 14:06:01
  phone: вер. 6.1.263 / 13.09.2016 18:00:05
  reports: вер. 6.1.206 / 05.10.2016 14:06:03
  ru.bitel.bgbilling.plugins.dispatch: вер. 6.1.91 / 25.11.2016 16:32:11
  ru.bitel.bgbilling.plugins.documents: вер. 6.1.215 / 29.02.2016 17:50:59
  voiceip: вер. 6.1.190 / 29.02.2016 17:51:17


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Статус договора
СообщениеДобавлено: 08 май 2015, 14:37 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Можно глобальным скриптом вызываемым из планировщика сделать.. Специальной задачи вроде нет. Хотя теоретически мы можем опционально обучить этому задачу установки статусов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Статус договора
СообщениеДобавлено: 08 май 2015, 14:42 
Не в сети

Зарегистрирован: 08 апр 2014, 11:00
Сообщения: 248
Карма: 0
Подскажите как проще мне это сделать?
Или, как мне кажется, такая логика бы была правильна по умолчанию для всех. И задача установки статусов, как я понимаю, специально для таких вещей.

_________________
Код:
Сервер: вер. 6.1.1182 / 21.11.2016 20:23:39
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.7.0_71

  bill: вер. 6.1.267 / 08.11.2016 10:26:59
  card: вер. 6.1.211 / 31.05.2016 16:01:28
  inet: вер. 6.1.737 / 25.11.2016 16:32:09
  mps: вер. 6.1.225 / 22.09.2016 12:54:08
  npay: вер. 6.1.202 / 05.10.2016 14:06:01
  phone: вер. 6.1.263 / 13.09.2016 18:00:05
  reports: вер. 6.1.206 / 05.10.2016 14:06:03
  ru.bitel.bgbilling.plugins.dispatch: вер. 6.1.91 / 25.11.2016 16:32:11
  ru.bitel.bgbilling.plugins.documents: вер. 6.1.215 / 29.02.2016 17:50:59
  voiceip: вер. 6.1.190 / 29.02.2016 17:51:17


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Статус договора
СообщениеДобавлено: 08 май 2015, 15:25 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Dima_M писал(а):
Подскажите как проще мне это сделать?
Или, как мне кажется, такая логика бы была правильна по умолчанию для всех. И задача установки статусов, как я понимаю, специально для таких вещей.


ну сейчас она для другого. Если добавили смену статуса в будущем, то в день наступления этого дня реально переключает текущий статус на договоре, и как следствие этого модули отрабатывают свою логику с учетом нового статуса. Без этой задачи установка статуса в будущем работать не будет..

Тут вопрос не простой. Изначально у нас не было статуса вообще и была только дата закрытия. Потом появился статус и сейчас он напрямую не связан с датой закрытия.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Статус договора
СообщениеДобавлено: 08 май 2015, 15:36 
Не в сети

Зарегистрирован: 08 апр 2014, 11:00
Сообщения: 248
Карма: 0
Но ведь логично то что я предлагаю сделать?

_________________
Код:
Сервер: вер. 6.1.1182 / 21.11.2016 20:23:39
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.7.0_71

  bill: вер. 6.1.267 / 08.11.2016 10:26:59
  card: вер. 6.1.211 / 31.05.2016 16:01:28
  inet: вер. 6.1.737 / 25.11.2016 16:32:09
  mps: вер. 6.1.225 / 22.09.2016 12:54:08
  npay: вер. 6.1.202 / 05.10.2016 14:06:01
  phone: вер. 6.1.263 / 13.09.2016 18:00:05
  reports: вер. 6.1.206 / 05.10.2016 14:06:03
  ru.bitel.bgbilling.plugins.dispatch: вер. 6.1.91 / 25.11.2016 16:32:11
  ru.bitel.bgbilling.plugins.documents: вер. 6.1.215 / 29.02.2016 17:50:59
  voiceip: вер. 6.1.190 / 29.02.2016 17:51:17


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Статус договора
СообщениеДобавлено: 08 май 2015, 16:58 
Не в сети
Разработчик

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


Вопрос логичности - это обсуждаемо. не факт что всем это надо ..Можно опцию добавить выключенную по умолчанию, чтобы только вы ее себе включили, а остальных логика не поменялась .


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Статус договора
СообщениеДобавлено: 08 май 2015, 17:01 
Не в сети

Зарегистрирован: 08 апр 2014, 11:00
Сообщения: 248
Карма: 0
Сделайте, пожалуйста.

_________________
Код:
Сервер: вер. 6.1.1182 / 21.11.2016 20:23:39
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.7.0_71

  bill: вер. 6.1.267 / 08.11.2016 10:26:59
  card: вер. 6.1.211 / 31.05.2016 16:01:28
  inet: вер. 6.1.737 / 25.11.2016 16:32:09
  mps: вер. 6.1.225 / 22.09.2016 12:54:08
  npay: вер. 6.1.202 / 05.10.2016 14:06:01
  phone: вер. 6.1.263 / 13.09.2016 18:00:05
  reports: вер. 6.1.206 / 05.10.2016 14:06:03
  ru.bitel.bgbilling.plugins.dispatch: вер. 6.1.91 / 25.11.2016 16:32:11
  ru.bitel.bgbilling.plugins.documents: вер. 6.1.215 / 29.02.2016 17:50:59
  voiceip: вер. 6.1.190 / 29.02.2016 17:51:17


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Статус договора
СообщениеДобавлено: 08 май 2015, 17:04 
Не в сети
Разработчик

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Статус договора (CRM)
СообщениеДобавлено: 08 май 2015, 18:42 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4494
Откуда: Уфа, Россия
Карма: 187
в данный момент нет события, "наступила дата закрытия договора..." и кто и как его генерировать должен не понятно...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Статус договора (CRM)
СообщениеДобавлено: 08 май 2015, 19:22 
Не в сети
Аватара пользователя

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Статус договора (CRM)
СообщениеДобавлено: 09 май 2015, 19:14 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Ну или сразу как задачу планировщика ядра добавить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Статус договора (CRM)
СообщениеДобавлено: 11 май 2015, 18:54 
Не в сети

Зарегистрирован: 08 апр 2014, 11:00
Сообщения: 248
Карма: 0
Вы сделаете, или нужно самому скрипт изобретать?

_________________
Код:
Сервер: вер. 6.1.1182 / 21.11.2016 20:23:39
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.7.0_71

  bill: вер. 6.1.267 / 08.11.2016 10:26:59
  card: вер. 6.1.211 / 31.05.2016 16:01:28
  inet: вер. 6.1.737 / 25.11.2016 16:32:09
  mps: вер. 6.1.225 / 22.09.2016 12:54:08
  npay: вер. 6.1.202 / 05.10.2016 14:06:01
  phone: вер. 6.1.263 / 13.09.2016 18:00:05
  reports: вер. 6.1.206 / 05.10.2016 14:06:03
  ru.bitel.bgbilling.plugins.dispatch: вер. 6.1.91 / 25.11.2016 16:32:11
  ru.bitel.bgbilling.plugins.documents: вер. 6.1.215 / 29.02.2016 17:50:59
  voiceip: вер. 6.1.190 / 29.02.2016 17:51:17


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Статус договора (CRM)
СообщениеДобавлено: 13 май 2015, 19:54 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Код:
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.server.util.MailMsg;
import ru.bitel.bgbilling.common.BGException;

import bitel.billing.server.contract.bean.*;
import bitel.billing.common.TimeUtils;

public class Dissolved
   extends GlobalScriptBase
{
   public String subject = "Уведомления ";
   public String message = "какой то текст";
   private MailMsg msg;
   @Override
   public void execute( Setup setup1, ConnectionSet connectionSet2 )
      throws Exception
   {
        msg = new MailMsg( setup1 );
        this.msg = msg;
      StringBuilder mesg = new StringBuilder();
      Connection con = connectionSet2.getConnection();
      ContractParameterManager cpm = new ContractParameterManager( con );
      Calendar nowDate = Calendar.getInstance();
      ContractStatusManager csm = new ContractStatusManager(con);
      ContractStatus ncs = new ContractStatus();
      GregorianCalendar tomorrow = (GregorianCalendar) nowDate.clone();//клонируем дату для дальнейшей работы
      tomorrow.add( Calendar.DAY_OF_MONTH, +1 );//прибавляем к сегодня, ещё 1 день
      String query =    " select id, title, date2, fc from contract where date2 is not null and gr&(1<<6)>0" ;
      PreparedStatement contractPs = con.prepareStatement( query );
      ResultSet contractRs = contractPs.executeQuery();
      int i = 0;
         while ( contractRs.next() )
            {
               int cid = contractRs.getInt( 1 );
               String title = contractRs.getString( 2 );
               Date date2 = contractRs.getDate( 3 );
               int fc = contractRs.getInt( 4 );
               Calendar closeDay = TimeUtils.convertDateToCalendar( date2 );
               int compare = TimeUtils.compare(nowDate, closeDay , Calendar.DAY_OF_MONTH);
//Если дата закрытия равна сегодня, то делаем
                  if ( compare == 0 )
                     {
                     //Убираем группу у физиков и ставим свою группу для расторгнутых
                        if (fc == 0)
                           {
                              cpm.setGroup( cid, 5 );
                              cpm.unsetGroup( cid, 3 );
                              cpm.unsetGroup( cid, 6 );
                              SendMessages(message, msg);
                              //print("id физиков " + cid);
                        print ("Договор физик " + title + " Дата закрытия " + date2);
                           }
                     //Убираем группу у юриков и ставим свою группу для расторгнутых   
                        if (fc == 1)
                           {
                              cpm.setGroup( cid, 2 );
                              cpm.unsetGroup( cid, 0 );
                              cpm.unsetGroup( cid, 6 );
SendMessages(message, msg);
                              //print("id юриков " + cid);
                        print ("Договор юрик " + title + " Дата закрытия " + date2);
                           }
                        ncs.setContractId(cid);
                        ncs.setDateFrom(TimeUtils.convertCalendarToDate(tomorrow));
                        ncs.setStatus(3);
                        csm.changeStatus(ncs, 0, true);
                        //print("id для сравнения правильности выполнения кода " + cid + " сегодня " + compare);

                        i++;
                     }
   public void SendMessages (String message, MailMsg msg)  throws BGException
   {
      String objects = "admin@admin.ru";
      msg.sendMessage(objects, subject, message);
   }
}

что то криво написано, писалось давно но работает =)

_________________
Код:
  Клиент: вер. 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: Статус договора (CRM)
СообщениеДобавлено: 14 май 2015, 13:26 
Не в сети

Зарегистрирован: 08 апр 2014, 11:00
Сообщения: 248
Карма: 0
Спасибо! Попробую и отпишу о результате.
Данный функционал нужен не только мне, как выяснилось :)

_________________
Код:
Сервер: вер. 6.1.1182 / 21.11.2016 20:23:39
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.7.0_71

  bill: вер. 6.1.267 / 08.11.2016 10:26:59
  card: вер. 6.1.211 / 31.05.2016 16:01:28
  inet: вер. 6.1.737 / 25.11.2016 16:32:09
  mps: вер. 6.1.225 / 22.09.2016 12:54:08
  npay: вер. 6.1.202 / 05.10.2016 14:06:01
  phone: вер. 6.1.263 / 13.09.2016 18:00:05
  reports: вер. 6.1.206 / 05.10.2016 14:06:03
  ru.bitel.bgbilling.plugins.dispatch: вер. 6.1.91 / 25.11.2016 16:32:11
  ru.bitel.bgbilling.plugins.documents: вер. 6.1.215 / 29.02.2016 17:50:59
  voiceip: вер. 6.1.190 / 29.02.2016 17:51:17


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Статус договора (CRM)
СообщениеДобавлено: 14 май 2015, 14:25 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
да много кому нужен на самом деле, но дело в том что у всех закрытие договоров по разному происходит, это один способ закрытия, а у меня их чета окло 3-4 (со сторонних систем, при смене статуса, чет ещё кажись)

_________________
Код:
  Клиент: вер. 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
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


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

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


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

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


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

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