dimOn писал(а):
Ну скорее всего это такая же проблема. Замените в дин коде методы.
Вынесите всё из тела метода (сам метод не удалять, только код из тела!):
Код:
public void endCreate( int cid, Check check, Printer printer )
{
//здесь всё вынести в другой метод, пустые скобки так и оставить
}
создаёте новый метод рядом
Код:
public void endCreate( Set<Integer> cids, Check check, Printer printer )
throws BGException
{
int cid = cids.toArray(new Integer[0])[0];
// cюда вставить всё из старого метода
//...
}
У меня в методе endCreate( int cid, Check check, Printer printer ) и так ничего нету:
Код:
package ru.provider.bgbilling;
import java.sql.Connection;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.Date;
import bitel.billing.common.SummaToString;
import bitel.billing.common.TimeUtils;
import bitel.billing.server.contract.bean.PaymentManager;
import ru.bitel.bgbilling.common.BGException;
import ru.bitel.bgbilling.kernel.module.common.bean.User;
import ru.bitel.bgbilling.kernel.module.server.bean.UserManager;
import ru.bitel.bgbilling.plugins.cashcheck.common.Payment;
import ru.bitel.bgbilling.plugins.cashcheck.common.Printer;
import ru.bitel.bgbilling.plugins.cashcheck.server.CheckBuilder;
import ru.bitel.bgbilling.plugins.cashcheck.server.bean.Check;
import ru.bitel.bgbilling.server.util.Setup;
import ru.bitel.bgbilling.kernel.base.server.util.SequentialIdManager;
public class ClinkCheck
implements CheckBuilder
{
private UserManager um;
private SequentialIdManager seqm;
private PaymentManager pm;
@Override
public void init( Setup setup, Connection con, Connection conSlave )
throws BGException
{
um = new UserManager( con );
seqm = new SequentialIdManager( con, "17" );
pm = new PaymentManager( con );
}
@Override
public void addPayment( Payment payment, Check check, Printer printer )
throws BGException
{
long id = 0;
try {
id = seqm.generateSequentialId();
} catch (SQLException e) {
e.printStackTrace();
}
SimpleDateFormat df = new SimpleDateFormat("dd.MM.yyyy HH:mm");
Date ts = new Date();
bitel.billing.server.contract.bean.Payment contract_payment = pm.getPaymentById(payment.getId());
contract_payment.setComment("п.о. " + String.valueOf(id) + " от " + df.format(ts) );
pm.updatePayment(contract_payment);
payment.setComment("п.о. " + String.valueOf(id) + " от " + df.format(ts) );
//Сумма платежа: "120,00р."
check.addString( String.valueOf(payment.getSumma()));
//Номер договора
check.addString( payment.getContractTitle() );
//Фамилия клиента: "ИВАНОВ И.И."
check.addString( payment.getContractComment() );
//Дата платежа: 20-04-2009
check.addString( TimeUtils.format( payment.getDate(), "dd-MM-yyyy" ) );
//Организация: ООО "ПРОВАЙДЕР"
check.addString( "ООО \"ПРОВАЙДЕР\"" );
//ФИО кассира (пользователя биллинга)
User user = um.get( payment.getUserId() );
check.addString( user.getName() );
//Тип платежа: "СПД №"
check.addString( "интернет по дог." );
//Сумма прописью: "Сто двадцать рублей 00 коп"
check.addString( SummaToString.summaToString( String.valueOf(payment.getSumma()), true ) );
check.addString( String.valueOf(id) );
/*check.addPayment( payment.getSumma(), payment.getContractTitle(), 0 );
check.addString( payment.getContractComment() );*/
}
@Override
public void endCreate( int cid, Check check, Printer printer )
throws BGException
{
/* check.addString( "Приходите ещё!" ); */
}
}