forum.bitel.ru
http://forum.bitel.ru/

Обнаружены расхождения суммы платежей/расходов/наработки!
http://forum.bitel.ru/viewtopic.php?f=22&t=3791
Страница 1 из 1

Автор:  survivor [ 01 апр 2010, 14:07 ]
Заголовок сообщения:  Обнаружены расхождения суммы платежей/расходов/наработки!

Доброго времени суток!

Нужно было в марте посадить всем определенную сумму как подарок, я сделал так:
цикл по всем контрактам
{
insert into contract_payment(dt, cid, pt, uid, summa) values('2010-03-19', ".$id.", 31, 1, 1.00)
}
где $id - id договора.

Деньги сели, но обнаружилась такая проблема - они как-то странно добавились в общий баланс, я даже пока точно не могу описать проблему, пошли разные глюки с исходящими остатками, особенно в новом месяце...
Плюс пришло письмо в котором биллинг ругается "Обнаружены расхождения суммы платежей/расходов/наработки за месяц 2010.03 для следующих кодов договоров:" и дальше следуют все существующие договоры.

В моем методе выставления оплаты есть какая-то ошибка? Так делать нельзя? И если так - то, можно все как-то поправить? И как - правильно делать такие вещи?

Спасибо всем заранее и очень надеюсь на скорый ответ!!!

Автор:  vdd [ 01 апр 2010, 14:24 ]
Заголовок сообщения:  Re: Обнаружены расхождения суммы платежей/расходов/наработки!

А вот такого у вас нет?
viewtopic.php?f=7&t=3792

Автор:  survivor [ 01 апр 2010, 14:28 ]
Заголовок сообщения:  Re: Обнаружены расхождения суммы платежей/расходов/наработки!

vdd писал(а):
А вот такого у вас нет?
viewtopic.php?f=7&t=3792


к счастью, такого нет :)

Автор:  survivor [ 01 апр 2010, 14:43 ]
Заголовок сообщения:  Re: Обнаружены расхождения суммы платежей/расходов/наработки!

обнаружилась интересная штука:
смотрю "баланс" за март - вижу "приход за месяц" 20у.е.,
смотрю "Приход" за март - вижу 20у.е (оплата от клиента) и 1у.е (подарок)

Получается, что положенные мной подарочные деньги хоть и сели в приход, но не сели в баланс? можно это как-то поправить, учитывая, что уже начался новый месяц?

Автор:  survivor [ 01 апр 2010, 15:10 ]
Заголовок сообщения:  Re: Обнаружены расхождения суммы платежей/расходов/наработки!

еще новости:

подарочные деньги успешно сели не только в приход, но и в итоговый баланс тем пользователям, у которых были обычные оплаты в марте, ПОСЛЕ подарочного платежа!

Автор:  skn [ 01 апр 2010, 15:21 ]
Заголовок сообщения:  Re: Обнаружены расхождения суммы платежей/расходов/наработки!

так как вы добавляли через sql то таблица баланса не пересчитывалась, поэтому такие глюки...
по мере пересчета баланса у клиентов ваш платеж будет всплывать...

Автор:  survivor [ 01 апр 2010, 15:28 ]
Заголовок сообщения:  Re: Обнаружены расхождения суммы платежей/расходов/наработки!

skn писал(а):
так как вы добавляли через sql то таблица баланса не пересчитывалась, поэтому такие глюки...
по мере пересчета баланса у клиентов ваш платеж будет всплывать...


Спасибо за ответ.

А можно как-то ускорить процесс пересчета? И будет ли он в этом месяце? Потому как есть случай когда уже в апреле клиент себе посадил деньги, а мартовский подарок ему не сел...

И еще вопрос - как ПРАВИЛЬНО нужно делать такие вещи?

Автор:  restart [ 01 апр 2010, 15:34 ]
Заголовок сообщения:  Re: Обнаружены расхождения суммы платежей/расходов/наработки!

survivor писал(а):
И еще вопрос - как ПРАВИЛЬНО нужно делать такие вещи?

Глобальным скриптом поведения, а там через API биллинга (PaymentManager). И вызывать updateBalance для каждого договора после этого в BalanceUtils.

Автор:  survivor [ 01 апр 2010, 15:39 ]
Заголовок сообщения:  Re: Обнаружены расхождения суммы платежей/расходов/наработки!

Дорогой коммунити! Помогите, пожалуйста, с соответствующим скриптом поведения!
Нужно поставить оплату N всем пользователям группы X...

Автор:  survivor [ 01 апр 2010, 18:48 ]
Заголовок сообщения:  Re: Обнаружены расхождения суммы платежей/расходов/наработки!

сделал так:

import bitel.billing.server.util.*;
import bitel.billing.server.contract.bean.*;
import java.sql.*;
import java.math.*;


public void main( setup, con, conSlave )
{
BalanceUtils balanceManager = new BalanceUtils( con );

Calendar curMonthBegin = new GregorianCalendar();
curMonthBegin.set( Calendar.DATE, curMonthBegin.getActualMinimum( Calendar.DATE ) );

Calendar prevMonthEnd = curMonthBegin.clone();
prevMonthEnd.add( Calendar.DATE, -1 );

String query = "SELECT `title`, `id` FROM `contract`";
PreparedStatement ps = con.prepareStatement( query );
ResultSet rs = ps.executeQuery();
while( rs.next() )
{
String title=rs.getString("title");
int cid=rs.getInt("id");

balanceManager.updateBalance(curMonthBegin.getTime(), cid);
balanceManager.updateBalance(prevMonthEnd.getTime(), cid);

}
rs.close();
ps.close();
}

все пересчиталось! :-)

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/