Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Sharepoint

Salvar Relatório

Hoje é possível de após o cliente ter feito a configuração e realizada as permissões no Azure de salvar um relatório em seu sharepoint.

Hoje por entrypoint basta fazer:

$param = new StorageParams();
$param->setReportName('assistencia_tecnica');
$param->setReportParams(array('os' => 1));
$param->setTargetPath('LOCAL_0101');
$param->setRemoteFileName('assist_tecnica_01.pdf');
$param->setReportFileType('pdf');
$param->setType('azure');
$result = $this->storageService->uploadReport($param);

Como é possível observar no exemplo a primeira coisa é instanciar um novo StorageParams

$params = new StorageParams();

Criada a sua variável StorageParams o próximo passo é popular os métodos:

$param->setReportName('assistencia_tecnica');
$param->setReportParams(array('os' => 1));
$param->setTargetPath('LOCAL_0101');
$param->setRemoteFileName('assist_tecnica_01.pdf');
$param->setReportFileType('pdf');
$param->setType('azure');
  • setReportName(string): Nome do relatório que está na nfs_reports;
  • setReportParams(array): Os parâmetros do relatório em formato de array, no exemplo, estamos passando os com o seq_db 1;
  • setTargetPath(string): Uma string com o diretório onde vai ser salvo o arquivo no storage do cliente, exemplo, 'nfs/reports/assit_tec', cada barra é um nível do diretório, se não exister ele será criado.
  • setRemoteFileName(string): Nome do arquivo que será salvo no destino, é necessária a extensão;
  • setReportFileType(string): Tipo do relatório, hoje somente é possível pdf que é o criado a partir do html.
  • setType(string): Tipo do Storage, hoje o padrão é azure, se mas pode ser que amanhã seja tenhamos mais uma opção como google cloud.

Por fim, é realizado o upload:

$result = $this->storageService->uploadReport($param);

Em casos de erro vai retornar um array com message e type:

array(2) {
  ["message"]=>
  string(33) "Cloud Provider not found: azureee"
  ["type"]=>
  string(5) "error"
}

Logo se tiver o type igual a erro você pode realizar alguma ação.