...
Блок кода | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import ru.bitel.bgbilling.kernel.script.server.dev.EventScriptBase; import ru.bitel.bgbilling.modules.sorm.common.bean.SormProject; import ru.bitel.bgbilling.modules.sorm.server.event.SormUploadEvent; import ru.bitel.bgbilling.modules.sorm.server.upload.Upload; import ru.bitel.bgbilling.server.util.Setup; import ru.bitel.common.model.Pair; import ru.bitel.common.sql.ConnectionSet; import java.nio.file.Path; import java.util.Collections; import java.util.List; public class CustomUpload extends EventScriptBase<SormUploadEvent> { @Override public void onEvent( SormUploadEvent event, Setup setup, ConnectionSet set ) throws Exception { SormProject sormProject = event.getSormProject(); CustomUploadSorm customCustomUploadSorm = new CustomUploadSorm( sormProject, true ); event.setUploadVersion( customCustomUploadSorm ); } /** * Класс-реализация пользовательской выгрузки СОРМ. */ static class CustomUploadSorm extends Upload { SormProject sormProject; public CustomUploadSorm( SormProject sormProject ) { //true - если нужна полная выгрузка, false - если выгрузка будет инкрементальной. Т.е. будут выгружены только новые и изменённые с последней выгрузки договоры, и данные к ним. super( sormProject, true ); this.sormProject = sormProject; } @Override public Path abonents() { return null; } @Override public Path abonentsAddresses() { return null; } @Override public Path abonentLogins() { return null; } @Override public Path services() { return null; } @Override public Path abonentServices() { return null; } @Override public Path ipNumbering() { return null; } @Override public Path abonentsIpNumbering() { return null; } @Override public Path switches() { return null; } @Override public Path gateways() { return null; } @Override public Path bunches() { return null; } @Override public Path phoneNumbering() { return null; } @Override public Path phoneNumberingAbonents() { return null; } @Override public Path documentTypes() { return null; } @Override public Path paymentTypes() { return null; } @Override public Path abonentsPayments() { return null; } @Override public Path operatorInfo() { return null; } /** * Возвращает остальные файлы, которые должны будут быть выгружены, если такие есть * Список пар, где: * key - путь на фтп, куда нужно положить файл * value - файл * В качестве ключа можно положить null, или null * в таком случае файл будет выгружен по стандартному пути или в корень, если нужнополучить оставитьпуть стандартныйне путьудалось или указанный в модуле * value@return - сам файл * */ @Override public Map<StringList<Pair<String, Path>Path>> getOtherFiles() { return nullCollections.emptyList(); } } |
Метод getOtherFiles() может быть использован для формирования и выгрузки любых необходимых файлов.Допускается реализация только тех фалов, которые необходимы. Если для какого-то файла не была найдена переопределённая пользовательская реализация, то при выгрузке модулем будет взята стандартная реализациядолжны быть отправлены на фтп при процессе выгрузки.