есть Код: https://bgbilling.ru/v7.0/javadoc/ru/bitel/bgbilling/plugins/cashcheck/server/bean/Check.html#setPaymentType-int- вот тут возможность установки к какому типу попадет платеж, есть уже 1 тип платежа обработаный так же и работает, но не могу добавить второй вот скрипт
Код: package ru.skyb.scripts.cashcheck;
import java.sql.Connection; import java.util.Set;
import bitel.billing.common.SummaToString; import bitel.billing.common.TimeUtils;
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.plugins.cashcheck.server.bean.*; import bitel.billing.server.contract.bean.*; import java.util.*; import java.util.Date; import bitel.billing.common.TimeUtils;
/** * Формат чека для стандартного шаблона ПКО (драйвер fop, шаблон cashcheck_pko.xsl). * Скрипт не обрабатывает попытку печати нескольких платежей. * @author dimon */ public class SimpleCheck implements CheckBuilder { private Connection con; private ContractParameterManager bgParamMan; private BalanceUtils bu;
@Override public void init( Setup setup, Connection con, Connection conSlave ) throws BGException { this.con = con; bgParamMan = new ContractParameterManager( con ); bu = new BalanceUtils ( con ); }
@Override public void addPayment( Payment payment, Check check, Printer printer ) throws BGException { int paymentDep = 0; int paymentType = -1; switch( payment.getPaymentTypeId() ) { case 32://Касса paymentDep = 1; break; case 69://Оплата по картам ВОТ ЭТОТ ТИП ПЛАТЕЖА РАБОТАЕТ paymentType = 4; break; case 70://Оплата по картам А ЭТОТ НОВЫЙ, НЕ РАБОТАЕТ paymentType = 4; break; } int PARAM_ID = 3; String paramVal = bgParamMan.getStringParam( payment.getContractId(), PARAM_ID ); check.addString( " " ); check.addString( "Телематические услуги связи(Интернет)" ); check.addString( "Договор №: " + payment.getContractTitle()); check.addString( "ФИО/Организация: "); check.addString( paramVal ); check.addString( " " ); check.setPaymentType(paymentType); check.addPayment( payment.getSumma(), payment.getContractTitle(), paymentDep ); }
public void endCreate( int cid, Check check, Printer printer ) throws BGException { // ничего нету, устаревший метод }
@Override public void endCreate( Set<Integer> cids, Check check, Printer printer ) throws BGException { GregorianCalendar nowDate = new GregorianCalendar(); Date dateNow = TimeUtils.convertCalendarToDate(nowDate); int cid = cids.toArray(new Integer[0])[0]; check.addString("Ваш текущий баланс: " + bu.getBalance(dateNow, cid)); } } ошибка выходит та что на скрине, тип платежа выбран с кодом 70
Вложения: |
скрин4.png [ 46.49 КБ | Просмотров: 4640 ]
|
|