Код:
import bitel.billing.server.util.*;
import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.List;
import bitel.billing.server.contract.bean.*;
import bitel.billing.server.contract.bean.BalanceUtils;
import bitel.billing.server.contract.bean.ContractParameterManager;
import bitel.billing.server.contract.bean.ContractService;
import bitel.billing.server.contract.bean.ContractServiceManager;
import bitel.billing.server.npay.bean.ServiceObject;
import bitel.billing.server.npay.bean.ServiceObjectManager;
import bitel.billing.server.npay.bean.*;
import bitel.billing.server.script.bean.event.*;
int DISCOUNT_ID = 50;
int STUDENTS_ID = 27;
int VIP_ID = 28;
int MODULE_NPAY = 4;
int FIZ_ID = 4;
int pid = 52;
date = new GregorianCalendar();
yesterday = date.clone();
yesterday.add(Calendar.DAY_OF_YEAR, -1);
int id = event.getContractId ( ); // id договора
cpu = new ContractParamUtils( con );//для групп
cpm = new ContractParameterManager( con ); // дата закрытия
dateClosed = cpm.getDateParam( id , pid); // дата закрытия
//print(dateClosed.getTime());
serviceObjectManager = new ServiceObjectManager(con, MODULE_NPAY);
customServiceList = serviceObjectManager.getServiceObjectList(id, -1, 0, 0);
for (service : customServiceList)
{
sid = service.getServiceId();
StartDate = service.getDate1();
StopDate = service.getDate2();
paramId = event.getParamId();
value = event.getValue();
if (value != null && value.matches("VIP") && paramId == DISCOUNT_ID)
{
if (sid == null)
{
return;
}
if (sid == FIZ_ID && StopDate == null)
{
service.setDate2 ( yesterday.getTime() );
serviceObjectManager.updateServiceObject( service );
if (dateClosed != null)
{
service.setId( -1 );
service.setContractId( id );
service.setServiceId ( VIP_ID );
service.setObjectId( 0 );
service.setDate1( date.getTime() );
service.setDate2( dateClosed.getTime() );
service.setComment( "Подключение услуги VIP клиентам скриптом" );
serviceObjectManager.updateServiceObject( service );
}
if ( dateClosed == null )
{
service.setId( -1 );
service.setContractId( id );
service.setServiceId ( VIP_ID );
service.setObjectId( 0 );
service.setDate1( date.getTime() );
service.setDate2( null );
service.setComment( "Подключение услуги VIP клиентам скриптом" );
serviceObjectManager.updateServiceObject( service );
}
}
}
}
не могу победить чтоб
1-открывалась предыдущая абонплата(та которая была до той который выставлена была скриптом)
2-чтоб дата закрытия услуги выставлалась по выставлению параметра договора дата. Тоесть сейчас так и есть, но на момент выставления уже должна быть дата
_________________
Код:
Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegramСтиль программирования - пьяный мастерстер
Разработка мобильных приложений