Обработка выполненных задач в журнале задач
Материал из BiTel WiKi
Обработка выполненных задач на подключение в журнале задач. Автоматическая установка в договор даты подключения, абонплаты.
import java.sql.*; import java.util.*; import bitel.billing.server.admin.bean.*; import bitel.billing.server.contract.bean.*; import bitel.billing.server.util.*; cid = event.getContractID(); task = event.getTask(); report = event.getReport(); serviceManager = new ContractServiceManager( con ); cu = new ContractUtils( con ); cpu = new ContractParamUtils( con ); // код параметра "Дата подключения" и код услги "Абонплата" DATE_PARAM = 24, PAY_SERVICE = 2; if( task.getTypeID() != 1 && task.getTypeID() != 18 ) { print( "This task type does't processing.." ); return; } if( task.getStatus() != RegisterTask.STATUS_CLOSED ) { report.append( cu.getContractTitle( cid, true ) ); report.append( " => задача не закрыта\n" ); return; } date = task.getExecuteDate(); if( date == null ) { report.append( cu.getContractTitle( cid, true ) ); report.append( " => не установлена дата исполнения\n" ); error( "executeDate == null" ); return; } // проверка что абонплата уже стоит services = serviceManager.getContractServiceList( cid, date ); if( services.size() > 0 ) { report.append( cu.getContractTitle( cid, true ) ); report.append( " => у договора уже стоит услуга\n" ); return; } // установка даты подключения if( cpu.getDateParam( cid, DATE_PARAM ) == null ) { cpu.setDateParam( cid, DATE_PARAM, date ); } // установка абонплаты cs = new ContractService(); cs.setContractID( cid ); cs.setServiceID( PAY_SERVICE ); cs.setDate1( task.getExecuteDate() ); cs.setComment( "Установлена скриптом" ); serviceManager.updateContractService( "new", cs ); task.setProcessed( true );