BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Пропажа 7 копеек
СообщениеДобавлено: 20 авг 2014, 16:53 
Не в сети

Зарегистрирован: 30 ноя 2010, 14:22
Сообщения: 118
Карма: 0
Вложение:
3.png
3.png [ 58.05 КБ | Просмотров: 4311 ]

Вложение:
1.png
1.png [ 27.61 КБ | Просмотров: 4311 ]

Вложение:
2.png
2.png [ 25.98 КБ | Просмотров: 4311 ]

При занесении платежа на супер договор с привязанным суб договором происходит странное округление


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пропажа 7 копеек
СообщениеДобавлено: 20 авг 2014, 16:57 
Не в сети

Зарегистрирован: 30 ноя 2010, 14:22
Сообщения: 118
Карма: 0
Код:
payment => <payment contractId="152644" date="2014-08-20T00:00:00+04:00" id="-1" sum="21.0" summa="21.0" typeId="2" userId="0" xmlns=""><comment/></payment>
distribution => 152644:9.13,152645:11.8

в Журнале видно что обрезаны копейки


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пропажа 7 копеек
СообщениеДобавлено: 20 авг 2014, 17:07 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
версии

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пропажа 7 копеек
СообщениеДобавлено: 20 авг 2014, 17:08 
Не в сети

Зарегистрирован: 30 ноя 2010, 14:22
Сообщения: 118
Карма: 0
Код:
 Клиент: вер. 6.1.761 / 28.07.2014 12:13:54
    os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.7.0_45
  Сервер: вер. 6.1.937 / 28.07.2014 12:14:05
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.7.0_60

  bill: вер. 6.1.248 / 26.06.2014 12:59:21
  card: вер. 6.1.198 / 18.06.2014 14:18:25
  dba: вер. 6.1.161 / 18.06.2014 14:18:37
  dialup: вер. 6.1.310 / 07.07.2014 13:57:34
  inet: вер. 6.1.566 / 28.07.2014 12:14:38
  ipn: вер. 6.1.226 / 18.06.2014 14:18:38
  mps: вер. 6.1.172 / 07.07.2014 17:44:50
  npay: вер. 6.1.175 / 09.07.2014 18:54:57
  phone: вер. 6.1.239 / 16.07.2014 18:23:39
  reports: вер. 6.1.183 / 21.07.2014 17:11:14
  ru.bitel.bgbilling.plugins.bonus: вер. 6.1.109 / 23.07.2014 18:37:54
  ru.bitel.bgbilling.plugins.cashcheck: вер. 6.1.95 / 17.03.2014 15:29:55
  ru.bitel.bgbilling.plugins.cladr: вер. 6.1.114 / 02.04.2014 17:58:45
  ru.bitel.bgbilling.plugins.crm: вер. 6.1.185 / 08.07.2014 14:50:13
  ru.bitel.bgbilling.plugins.dispatch: вер. 6.1.51 / 08.07.2014 14:50:16
  ru.bitel.bgbilling.plugins.documents: вер. 6.1.138 / 02.06.2014 20:01:21
  ru.bitel.bgbilling.plugins.helpdesk: вер. 6.1.184 / 23.07.2014 18:37:53
  ru.bitel.bgbilling.plugins.organizer: вер. 6.1.65 / 17.03.2014 15:30:02
  trayinfo: вер. 6.1.161 / 17.03.2014 15:30:33
  tv: вер. 6.1.181 / 09.07.2014 18:54:52
  voiceip: вер. 6.1.179 / 07.07.2014 13:57:50


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пропажа 7 копеек
СообщениеДобавлено: 20 авг 2014, 17:14 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
да, ошибка повторяется

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пропажа 7 копеек
СообщениеДобавлено: 20 авг 2014, 18:57 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 05 сен 2012, 18:20
Сообщения: 457
Карма: 27
Исправлено. Обновление выкладывается.
У последнего договора в списке вырезалась сотая доля.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пропажа 7 копеек (CRM)
СообщениеДобавлено: 21 авг 2014, 13:31 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Спасибо.
Пришлось правда перелопатить все занесенные платежи с момента обновления на 6.1 которые делились по субдоговорам ))) Штук 15-20 выплыло с обрезанными копейками

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пропажа 7 копеек (CRM)
СообщениеДобавлено: 21 авг 2014, 18:38 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 05 сен 2012, 18:20
Сообщения: 457
Карма: 27
Пожалуйста проверти у себя такие платежи. Создайте у себя приведенный ниже скрипт и выполните его. Он выведет все записи из журнала где пропали копейки.
Данный скрипт не анализирует уже поправленные платежи.

Для оптимизации, выставите в переменной "cal" тот месяц с которого вы перешли на 6.1. Например если переход был в мае то:
Calendar cal = TimeUtils.convertStringToCalendar( "01.05.2014" );

PS: Код подправлен, теперь выдает только коды договоров, сумму которая должна быть и дату.


Код:
import java.math.BigDecimal;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;

import ru.bitel.bgbilling.common.BGException;
import ru.bitel.bgbilling.kernel.script.server.dev.GlobalScriptBase;
import ru.bitel.bgbilling.server.util.ServerUtils;
import ru.bitel.bgbilling.server.util.Setup;
import ru.bitel.common.Utils;
import ru.bitel.common.sql.ConnectionSet;
import bitel.billing.common.TimeUtils;
import bitel.billing.server.contract.ContractRemover;
import bitel.billing.server.contract.bean.ContractParameterManager;

public class CheckDistributionPayment    extends GlobalScriptBase
{
    @Override
    public void execute( Setup setup1, ConnectionSet connectionSet2 )        throws Exception
    {
        Calendar cal = TimeUtils.convertStringToCalendar( "01.01.2014" );
        String tableName = ServerUtils.getMonthTableName( "bgs_query_log", cal.getTime() );
        int count = 0;
        while( ServerUtils.tableExists( connectionSet2.getConnection(), tableName ) )
        {
            String query = "SELECT query FROM " + tableName + " WHERE mid_aid='0_1001' AND query LIKE '%distribution%'";
            PreparedStatement ps = connectionSet2.getConnection().prepareStatement( query );
            ResultSet rs = ps.executeQuery();
            while( rs.next() )
            {
                String qr = rs.getString( "query" ).replaceFirst( "<p", "p" );
                int ind1 = qr.indexOf( "sum=\"" );
                int ind2 = qr.indexOf( "\" summa=" );
                if( ind1 >0 && ind2 > 0)
                {
                    BigDecimal total = Utils.parseBigDecimal( qr.substring( ind1 +5, ind2 ), null );
                    List<String> dList = Utils.toList( qr.substring( qr.indexOf( "distribution => " ) ) );
                    ArrayList<BigDecimal> disSumList = new ArrayList<>();
                    int cid = 0;
                    for( String d : dList )
                    {
                        String[] s = d.split( ":" );
                        if( s.length == 2)
                        {
                            disSumList.add( Utils.parseBigDecimal( s[1], null ) );
                            cid = Utils.parseInt( s[0] );
                        }
                    }
                    BigDecimal allSum = BigDecimal.ZERO;
                    for( BigDecimal s : disSumList )
                    {
                        if( s != null )
                        {
                            allSum = allSum.add( s );
                        }
                    }
                    if ( total.compareTo( allSum ) != 0 )
                    {
//                        print( qr ); // если нужен весь лог журнала, то раскоментить
                        ind1 = qr.indexOf( "date=\"" );
                        String datePay = qr.substring( ind1+6, ind1+16 );
                        print( cid + " - " + total.subtract( allSum.subtract( disSumList.get( disSumList.size()-1 ) ) ) + "  " + datePay );
                        count++;
                    }
                }
            }
            cal.add( Calendar.MONTH, 1 );
            tableName = ServerUtils.getMonthTableName( "bgs_query_log", cal.getTime() );
        }
       print("Всего записей: " + count);
    }

}



Последний раз редактировалось Ildar 21 авг 2014, 20:00, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пропажа 7 копеек (CRM)
СообщениеДобавлено: 21 авг 2014, 18:54 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 05 сен 2012, 18:20
Сообщения: 457
Карма: 27
Если у вас очень много договоров с потерянными копейками и править в ручную не реально. То напишу скрипт который автоматом будет править расходы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пропажа 7 копеек (CRM)
СообщениеДобавлено: 21 авг 2014, 19:24 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Благодарю. Действительно пропустил некоторые.
Мне скрипт по исправлению не нужен, спасибо.

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пропажа 7 копеек (CRM)
СообщениеДобавлено: 21 авг 2014, 19:29 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
тьфу фак :D Что то затупил. Он же по журналу запросов смотрит. Вывел всех тех кого я уже поправил :D

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пропажа 7 копеек (CRM)
СообщениеДобавлено: 21 авг 2014, 19:36 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 05 сен 2012, 18:20
Сообщения: 457
Карма: 27
:) Ага. Но если нужно, то можно добавить проверку. Дабы отображались только те кто не был правлен.


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

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


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

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


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

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