forum.bitel.ru http://forum.bitel.ru/ |
|
Пропажа 7 копеек (CRM) http://forum.bitel.ru/viewtopic.php?f=22&t=9595 |
Страница 1 из 1 |
Автор: | Villian [ 20 авг 2014, 16:53 ] |
Заголовок сообщения: | Пропажа 7 копеек |
Вложение: Вложение: Вложение: При занесении платежа на супер договор с привязанным суб договором происходит странное округление |
Автор: | Villian [ 20 авг 2014, 16:57 ] |
Заголовок сообщения: | Re: Пропажа 7 копеек |
Код: 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 в Журнале видно что обрезаны копейки |
Автор: | dimOn [ 20 авг 2014, 17:07 ] |
Заголовок сообщения: | Re: Пропажа 7 копеек |
версии |
Автор: | Villian [ 20 авг 2014, 17:08 ] |
Заголовок сообщения: | Re: Пропажа 7 копеек |
Код: Клиент: вер. 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 |
Автор: | dimOn [ 20 авг 2014, 17:14 ] |
Заголовок сообщения: | Re: Пропажа 7 копеек |
да, ошибка повторяется |
Автор: | Ildar [ 20 авг 2014, 18:57 ] |
Заголовок сообщения: | Re: Пропажа 7 копеек |
Исправлено. Обновление выкладывается. У последнего договора в списке вырезалась сотая доля. |
Автор: | Phricker [ 21 авг 2014, 13:31 ] |
Заголовок сообщения: | Re: Пропажа 7 копеек (CRM) |
Спасибо. Пришлось правда перелопатить все занесенные платежи с момента обновления на 6.1 которые делились по субдоговорам ))) Штук 15-20 выплыло с обрезанными копейками |
Автор: | Ildar [ 21 авг 2014, 18:38 ] |
Заголовок сообщения: | Re: Пропажа 7 копеек (CRM) |
Пожалуйста проверти у себя такие платежи. Создайте у себя приведенный ниже скрипт и выполните его. Он выведет все записи из журнала где пропали копейки. Данный скрипт не анализирует уже поправленные платежи. Для оптимизации, выставите в переменной "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, 18:54 ] |
Заголовок сообщения: | Re: Пропажа 7 копеек (CRM) |
Если у вас очень много договоров с потерянными копейками и править в ручную не реально. То напишу скрипт который автоматом будет править расходы. |
Автор: | Phricker [ 21 авг 2014, 19:24 ] |
Заголовок сообщения: | Re: Пропажа 7 копеек (CRM) |
Благодарю. Действительно пропустил некоторые. Мне скрипт по исправлению не нужен, спасибо. |
Автор: | Phricker [ 21 авг 2014, 19:29 ] |
Заголовок сообщения: | Re: Пропажа 7 копеек (CRM) |
тьфу фак ![]() ![]() |
Автор: | Ildar [ 21 авг 2014, 19:36 ] |
Заголовок сообщения: | Re: Пропажа 7 копеек (CRM) |
![]() |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |