Page tree
Skip to end of metadata
Go to start of metadata

Имеется возможность применить свою реализацию для формирования каких-либо выгружаемых файлов. При старте выгрузки будет сформировано синхронное событие ru.bitel.bgbilling.modules.sorm.server.event.SormUploadEvent.

В динамическом коде можно заменить один или несколько файлов, можно добавить один или несколько файлов к выгрузке.

Пример
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 File abonents()
        {
            return null;
        }

        @Override
        public File abonentsAddresses()
        {
            return null;
        }

        @Override
        public File abonentLogins()
        {
            return null;
        }

        @Override
        public File services()
        {
            return null;
        }

        @Override
        public File abonentServices()
        {
            return null;
        }

        @Override
        public File ipNumbering()
        {
            return null;
        }

        @Override
        public File abonentsIpNumbering()
        {
            return null;
        }

        @Override
        public File switches()
        {
            return null;
        }

        @Override
        public File gateways()
        {
            return null;
        }

        @Override
        public File bunches()
        {
            return null;
        }

        @Override
        public File phoneNumbering()
        {
            return null;
        }

        @Override
        public File phoneNumberingAbonents()
        {
            return null;
        }

        @Override
        public File documentTypes()
        {
            return null;
        }

        @Override
        public File paymentTypes()
        {
            return null;
        }

        @Override
        public File abonentsPayments()
        {
            return null;
        }

        @Override
        public List<File> getOtherFiles()
        {
            return null;
        }

        @Override
        public File operatorInfo()
        {
            return null;
        }
    }

Метод getOtherFiles() может быть использован для формирования и выгрузки любых необходимых файлов.

Допускается реализация только тех фалов, которые необходимы. Если для какого-то файла не была найдена переопределённая пользовательская реализация, то при выгрузке модулем будет взята стандартная реализация


  • No labels