コード例 #1
0
 public function relatorioPorEmpresa($dataInicial = null, $dataFinal = null, $empresa = null)
 {
     $this->_helper->layout->disableLayout();
     $this->_helper->viewRenderer->setNoRender(true);
     if ($dataInicial != null) {
         $selectDataInicial = "texa_data >= '" . $dataInicial . "'";
     } else {
         $selectDataInicial = "texa_data >= '2016-01-01'";
         $dataInicial = '2016-01-01';
     }
     if ($dataFinal != null) {
         $selectDataFinal = "texa_data <= '" . $dataFinal . "'";
     } else {
         $selectDataFinal = "texa_data <= '" . date('Y-m-d') . "'";
         $dataFinal = date('Y-m-d');
     }
     $modeloRelatorio = new ModeloRelatorio('templateRodape.pdf');
     if ($empresa != 0) {
         $selectEmpresas = $this->MetodosGlobais->empresas('temp_id=' . $empresa);
     } else {
         $selectEmpresas = $this->MetodosGlobais->empresas();
     }
     $dataGeracao = date('d/m/Y');
     $firstline = 730;
     $firstcoluna = 192;
     //$this->imprimeRegua($modeloRelatorio);
     foreach ($selectEmpresas as $empresa) {
         $selectPacienteByEmpresa = $this->MetodosGlobais->pacientesFromEmpresa("temp_id=" . $empresa['temp_id']);
         $image = Zend_Pdf_Image::imageWithPath('public/img/logo.png');
         $modeloRelatorio->drawImage($image, 10, 700, 130, 800);
         $modeloRelatorio->setValueByLineAndColumnAndSize(756, 140, 'Relatório Por Convênio - Período:', 14);
         $modeloRelatorio->setValueByLineAndColumnAndSize(756, 371, $this->MetodosGlobais->dataBR($dataInicial) . ' a ' . $this->MetodosGlobais->dataBR($dataFinal), 14);
         $modeloRelatorio->setValueByLineAndColumnAndSizeBold($firstline, 140, 'Empresa:', 10);
         $modeloRelatorio->setValueByLineAndColumnAndSize($firstline, $firstcoluna, $empresa['temp_nomefantasia'] . ' - ' . $empresa['temp_razaosocial'], 10);
         $nomeEmpresa = $empresa['temp_nomefantasia'];
         $modeloRelatorio->setLinha(710);
         $modeloRelatorio->setValueBold(140, 'CNPJ:');
         $modeloRelatorio->setValue(180, $empresa['temp_cnpj']);
         $modeloRelatorio->setValueBold(280, 'Data do Relatório:');
         $modeloRelatorio->setValue(360, $dataGeracao);
         $modeloRelatorio->setLinha(680);
         $valorTotal = 0;
         foreach ($selectPacienteByEmpresa as $paciente) {
             $exames = $this->MetodosGlobais->examesFromPaciente($selectDataInicial . " And " . $selectDataFinal . " And tpac_id =" . $paciente['tpac_id'] . ' And texa_realizado = 1');
             if (!empty($exames)) {
                 $modeloRelatorio->setValueBold(61, 'Paciente:');
                 $modeloRelatorio->setValue(101, $paciente['tpac_nome'] . ' ' . $paciente['tpac_sobrenome']);
                 $modeloRelatorio->setValueBold(271, 'RG:');
                 $modeloRelatorio->setValue(291, $paciente['tpac_rg']);
                 $modeloRelatorio->setValueBold(351, 'Nascimento:');
                 $modeloRelatorio->setValue(411, $this->MetodosGlobais->dataBR($paciente['tpac_nascimento']));
                 $modeloRelatorio->setNewLine();
                 $modeloRelatorio->setNewLine();
                 $modeloRelatorio->setValueBold(61, 'Procedimento:');
                 $modeloRelatorio->setValueBold(271, 'Prof. Responsável:');
                 $modeloRelatorio->setValueBold(391, 'Valor (R$):');
                 $modeloRelatorio->setValueBold(481, 'Data:');
                 $modeloRelatorio->setNewLine();
                 $valorExames = 0;
                 foreach ($exames as $exame) {
                     $modeloRelatorio->setValue(71, $exame['texa_nome']);
                     $modeloRelatorio->setValue(271, $exame['tprf_nome'] . ' ' . $exame['tprf_sobrenome']);
                     $modeloRelatorio->setValue(441, $this->MetodosGlobais->formatValorReal($exame['texa_valorbasico'] - $exame['texa_emp_desconto']));
                     $modeloRelatorio->setValue(501, $this->MetodosGlobais->dataBR($exame['texa_data']));
                     $valorExames += $exame['texa_valorbasico'] - $exame['texa_emp_desconto'];
                     $modeloRelatorio->setNewLine();
                 }
                 $modeloRelatorio->setValueBold(401, 'Valor (R$):');
                 $modeloRelatorio->setValue(461, $this->MetodosGlobais->formatValorReal($valorExames));
                 //$modeloRelatorio->drawLine(50, $modeloRelatorio->getLinha(), 550, $modeloRelatorio->getLinha());
                 $modeloRelatorio->setNewLine();
                 $modeloRelatorio->setNewLine();
                 $valorTotal += $valorExames;
             }
         }
         $modeloRelatorio->setValueBold(461, 'Valor Total (R$):');
         $modeloRelatorio->setValue(541, $this->MetodosGlobais->formatValorReal($valorTotal));
         $modeloRelatorio->setNewLine();
         $modeloRelatorio->setNewPage();
     }
     $pdf = $modeloRelatorio->getRelatorio();
     ob_end_clean();
     if ($empresa != 0) {
         header('Content-Disposition: attachment;filename="RelatórioEmpresas' . $nomeEmpresa . '.pdf"');
     } else {
         header('Content-Disposition: attachment;filename="RelatórioEmpresas.pdf"');
     }
     header("Content-type: application/x-pdf");
     echo $pdf->render();
 }