From 5b8accbea1dafd4d7b6215b6049f7d9e47fd26ad Mon Sep 17 00:00:00 2001 From: Kenio de Souza Date: Tue, 2 Sep 2025 17:19:40 -0300 Subject: [PATCH] Gerando planilha --- .../financial_movements_datagrid.php | 171 +++++++----------- ....php => financial_movements_datagrid_.php} | 140 ++++++++------ 2 files changed, 148 insertions(+), 163 deletions(-) rename vendor/print/financial_movements/{financial_movements_datagrid_plan.php => financial_movements_datagrid_.php} (58%) diff --git a/vendor/print/financial_movements/financial_movements_datagrid.php b/vendor/print/financial_movements/financial_movements_datagrid.php index c16c700..bf88a16 100644 --- a/vendor/print/financial_movements/financial_movements_datagrid.php +++ b/vendor/print/financial_movements/financial_movements_datagrid.php @@ -97,79 +97,58 @@ try{ /** Aumenta o uso de memória */ ini_set('memory_limit','512M'); - /** Inicio do relatório */ - /** Instancia da classe Mpdf */ - $mpdf = new \Mpdf\Mpdf([ - 'mode' => 'utf-8', - 'orientation' => 'L' - ]); - - /** Prepara o cabeçalho */ - $header .= ' '; - $header .= ' '; - $header .= ' '; - $header .= ' '; - $header .= ' '; - $header .= '
'; - $header .= '

MOVIMENTAÇÕES FINANCEIRAS / '; - - /** Verifica o tipo */ - if($FinancialMovementsValidate->getType() == 'E'){ - - $header .= 'ENTRADAS'; - - }elseif($FinancialMovementsValidate->getType() == 'S'){ - - $header .= 'SAÍDAS'; - } + /**Carrega a biblioteca par agerar o arquivo*/ + chdir('library/Excel/phpxls'); + require_once 'Writer.php'; + chdir('..'); - $header .= '

'; + /**Instancia da classe*/ + $workbook = new Spreadsheet_Excel_Writer(date("Y-m-d").'-'.rand(999,99999).'.xls'); + + /**Defino o header da planilha*/ + $header =& $workbook->addFormat(); + $header->setBottom(2);//thick + $header->setBold(); + $header->setBgColor('black'); + $header->setFgColor(22); + $header->setColor('black'); + $header->setFontFamily('Arial'); + $header->setSize(8); + $header->setAlign('center'); + + //Criação da página + $worksheet =& $workbook->addWorksheet("Lista"); + + //Defino o body da planilha + $body =& $workbook->addFormat(); + $body->setColor('black'); + $body->setFontFamily('Arial'); + $body->setSize(8); + + //Definições das colunas + $worksheet->setColumn(0,0,30);//Coluna inicial, coluna final, largura + $worksheet->setColumn(1,1,30); + $worksheet->setColumn(2,2,5); + $worksheet->setColumn(3,3,10); + $worksheet->setColumn(4,5,12); + + //Escrevendo o header da planilha + $worksheet->write(0, 0, "REFERÊNCIA", $header);//Linha, coluna, label, parametros + $worksheet->write(0, 1, "VENCIMENTO", $header); + $worksheet->write(0, 2, "PAGAMENTO", $header); + $worksheet->write(0, 3, "DESCRIÇÃO", $header); + $worksheet->write(0, 4, "CNS", $header); + $worksheet->write(0, 5, "OBSERVAÇÃO", $header); + $worksheet->write(0, 6, "VALOR R$", $header); + $worksheet->write(0, 7, "MULTA R$", $header); + $worksheet->write(0, 8, "TAXAS R$", $header); + $worksheet->write(0, 9, "TOTAL R$", $header); - /** Verifica se o período de consulta foi informado */ - if(!empty($FinancialMovementsValidate->getDateStart())){ + $line=1;//Linha inicial + $col=0;//Coluna inicial - $header .= '

PERÍODO DE CONSULTA: '.$dateStart.' a '.$dateEnd.'

'; - } - - $header .= '
'; - - $header .= ' '; - $header .= ' '; - $header .= ' '; - $header .= ' '; - $header .= ' '; - $header .= ' '; - $header .= ' '; - $header .= ' '; - $header .= ' '; - $header .= ' '; - $header .= ' '; - $header .= ' '; - $header .= ' '; - $header .= ' '; - $header .= '
REFERÊNCIAVENCIMENTOPAGAMENTODESCRIÇÃOCNSOBSERVAÇÃOVALORMULTATAXASTOTAL
'; - - /** Define i cabeçalho do relatório */ - $mpdf->SetHTMLHeader($header); - - /** Define o rodapé do relatório */ - $mpdf->SetHTMLFooter(' - - - - -
{PAGENO}/{nbpg}
'); - - /** Adicionar as margens da página */ - $mpdf->AddPageByArray([ - 'margin-top' => 28 - ]); - - /** Inicio do corpo do relatório */ - $body = ''; - $body .= ' '; /** Consulta as movimentações cadastradas*/ $FinancialMovementsResult = $FinancialMovements->All($companyId, 0, 0, @@ -181,46 +160,30 @@ try{ foreach($FinancialMovementsResult as $FinancialMovementsKey => $Result){ - - /** Calcula o total de taxas */ - $totalFees += $Result->movement_value_registration_tariff+$Result->movement_value_settlement_tariff; - + //Escrevendo o body da planilha + $worksheet->write($line, $col++, $Result->movement_reference, $body); + $worksheet->write($line, $col++, date('d/m/Y', strtotime($Result->movement_date_scheduled)), $body); + $worksheet->write($line, $col++, (isset($Result->movement_date_paid) ? date('d/m/Y', strtotime($Result->movement_date_paid)) : ($Main->CheckDay($Result->movement_date_scheduled) > 1 ? $Main->diffDate($Result->movement_date_scheduled, date('Y-m-d')).' dia(s) de atraso' : '')), $body); + $worksheet->write($line, $col++, $Result->description, $body); + $worksheet->write($line, $col++, $Result->cns, $body); + $worksheet->write($line, $col++, ( isset($Result->note) ? $Result->note : '' ), $body); + $worksheet->write($line, $col++, number_format($Result->movement_value, 2, ',', '.'), $body); + $worksheet->write($line, $col++, ( isset($Result->movement_value_paid) ? number_format(($Result->movement_value_paid-$Result->movement_value), 2, ',', '.') : ''), $body); + $worksheet->write($line, $col++, ( isset($Result->movement_value_registration_tariff) ? number_format($Result->movement_value_registration_tariff+$Result->movement_value_settlement_tariff, 2, ',', '.') : ''), $body); + $worksheet->write($line, $col++, ( isset($Result->movement_value_paid) ? number_format(($Result->movement_value_paid+($Result->movement_value_registration_tariff+$Result->movement_value_settlement_tariff)), 2, ',', '.') : number_format($Result->movement_value, 2, ',', '.')), $body); + //Obs: Utiliza-se writeString para escrever numeros em forma de string, + //senão o excel irá ignorar os zeros a esquerda - $body .= ' '; - $body .= ' '; - $body .= ' '; - $body .= ' '; - $body .= ' '; - $body .= ' '; - $body .= ' '; - $body .= ' '; - $body .= ' '; - $body .= ' '; - $body .= ' '; - $body .= ' '; - $body .= ' '; - $i++; - - /** Contabiliza o total geral */ - $totalGeneral += isset($Result->movement_value_paid) ? $Result->movement_value_paid : $Result->movement_value; - } - - $body .= ' '; - $body .= '
'.$i.''.$Result->movement_reference.''.date('d/m/Y', strtotime($Result->movement_date_scheduled)).''.(isset($Result->movement_date_paid) ? date('d/m/Y', strtotime($Result->movement_date_paid)) : ($Main->CheckDay($Result->movement_date_scheduled) > 1 ? $Main->diffDate($Result->movement_date_scheduled, date('Y-m-d')).' dia(s) de atraso' : '')).''.$Result->description.''.$Result->cns.''.( isset($Result->note) ? $Result->note : '' ).''.number_format($Result->movement_value, 2, ',', '.').''.( isset($Result->movement_value_paid) ? number_format(($Result->movement_value_paid-$Result->movement_value), 2, ',', '.') : '').''.( isset($Result->movement_value_registration_tariff) ? '- '.number_format($Result->movement_value_registration_tariff+$Result->movement_value_settlement_tariff, 2, ',', '.') : '').''.( isset($Result->movement_value_paid) ? number_format(($Result->movement_value_paid+($Result->movement_value_registration_tariff+$Result->movement_value_settlement_tariff)), 2, ',', '.') : number_format($Result->movement_value, 2, ',', '.')).'
'; - - $body .= '
'; - $body .= 'Total R$ '.number_format($totalGeneral, 2, ',', '.').'
'; - $body .= 'Total Taxas - R$ '.number_format($totalFees, 2, ',', '.').'
'; - $body .= 'Total Geral R$ '.number_format(($totalGeneral-$totalFees), 2, ',', '.').'
'; - - /** Acrescenta os dados ao corpo do relatório */ - $mpdf->WriteHTML($body); + $line++; + $col=0; + } /** Nome que será dado ao relatório */ - $nameFile = 'IMPRESSAO-RELATORIO-MOVIMENTACAO-FINANCEIRA-'. date('d-m-Y-H-i-s').'.pdf'; + $nameFile = 'IMPRESSAO-RELATORIO-MOVIMENTACAO-FINANCEIRA-'. date('d-m-Y-H-i-s').'.xls'; - /** Salva o relatório em uma pasta temporária */ - $mpdf->Output($dir.$nameFile); + //Envio o arquivo para download + $workbook->send($dir.$nameFile); + $workbook->close(); /** Verifica se o arquivo foi gerado com sucesso */ if(is_file($dir.$nameFile)){ diff --git a/vendor/print/financial_movements/financial_movements_datagrid_plan.php b/vendor/print/financial_movements/financial_movements_datagrid_.php similarity index 58% rename from vendor/print/financial_movements/financial_movements_datagrid_plan.php rename to vendor/print/financial_movements/financial_movements_datagrid_.php index 49007b9..c16c700 100644 --- a/vendor/print/financial_movements/financial_movements_datagrid_plan.php +++ b/vendor/print/financial_movements/financial_movements_datagrid_.php @@ -97,58 +97,79 @@ try{ /** Aumenta o uso de memória */ ini_set('memory_limit','512M'); + /** Inicio do relatório */ - /**Carrega a biblioteca par agerar o arquivo*/ - chdir('library/Excel/phpxls'); - require_once 'Writer.php'; - chdir('..'); - - /**Instancia da classe*/ - $workbook = new Spreadsheet_Excel_Writer(date("Y-m-d").'-'.rand(999,99999).'.xls'); - - /**Defino o header da planilha*/ - $header =& $workbook->addFormat(); - $header->setBottom(2);//thick - $header->setBold(); - $header->setBgColor('black'); - $header->setFgColor(22); - $header->setColor('black'); - $header->setFontFamily('Arial'); - $header->setSize(8); - $header->setAlign('center'); - - //Criação da página - $worksheet =& $workbook->addWorksheet("Lista"); - - //Defino o body da planilha - $body =& $workbook->addFormat(); - $body->setColor('black'); - $body->setFontFamily('Arial'); - $body->setSize(8); - - //Definições das colunas - $worksheet->setColumn(0,0,30);//Coluna inicial, coluna final, largura - $worksheet->setColumn(1,1,30); - $worksheet->setColumn(2,2,5); - $worksheet->setColumn(3,3,10); - $worksheet->setColumn(4,5,12); - - //Escrevendo o header da planilha - $worksheet->write(0, 0, "REFERÊNCIA", $header);//Linha, coluna, label, parametros - $worksheet->write(0, 1, "VENCIMENTO", $header); - $worksheet->write(0, 2, "PAGAMENTO", $header); - $worksheet->write(0, 3, "DESCRIÇÃO", $header); - $worksheet->write(0, 4, "CNS", $header); - $worksheet->write(0, 4, "OBSERVAÇÃO", $header); - $worksheet->write(0, 4, "VALOR R$", $header); - $worksheet->write(0, 4, "MULTA R$", $header); - $worksheet->write(0, 4, "TAXAS R$", $header); - $worksheet->write(0, 4, "TOTAL R$", $header); + /** Instancia da classe Mpdf */ + $mpdf = new \Mpdf\Mpdf([ + 'mode' => 'utf-8', + 'orientation' => 'L' + ]); - $line=1;//Linha inicial - $col=0;//Coluna inicial + /** Prepara o cabeçalho */ + $header .= ' '; + $header .= ' '; + $header .= ' '; + $header .= ' '; + $header .= ' '; + $header .= '
'; + $header .= '

MOVIMENTAÇÕES FINANCEIRAS / '; + /** Verifica o tipo */ + if($FinancialMovementsValidate->getType() == 'E'){ + $header .= 'ENTRADAS'; + + }elseif($FinancialMovementsValidate->getType() == 'S'){ + + $header .= 'SAÍDAS'; + } + + $header .= '

'; + + /** Verifica se o período de consulta foi informado */ + if(!empty($FinancialMovementsValidate->getDateStart())){ + + $header .= '

PERÍODO DE CONSULTA: '.$dateStart.' a '.$dateEnd.'

'; + + } + + $header .= '
'; + + $header .= ' '; + $header .= ' '; + $header .= ' '; + $header .= ' '; + $header .= ' '; + $header .= ' '; + $header .= ' '; + $header .= ' '; + $header .= ' '; + $header .= ' '; + $header .= ' '; + $header .= ' '; + $header .= ' '; + $header .= ' '; + $header .= '
REFERÊNCIAVENCIMENTOPAGAMENTODESCRIÇÃOCNSOBSERVAÇÃOVALORMULTATAXASTOTAL
'; + + /** Define i cabeçalho do relatório */ + $mpdf->SetHTMLHeader($header); + + /** Define o rodapé do relatório */ + $mpdf->SetHTMLFooter(' + + + + +
{PAGENO}/{nbpg}
'); + + /** Adicionar as margens da página */ + $mpdf->AddPageByArray([ + 'margin-top' => 28 + ]); + + /** Inicio do corpo do relatório */ + $body = ''; + $body .= ' '; /** Consulta as movimentações cadastradas*/ $FinancialMovementsResult = $FinancialMovements->All($companyId, 0, 0, @@ -166,16 +187,17 @@ try{ $body .= ' '; - $body .= ' '; - $body .= ' '; - $body .= ' '; - $body .= ' '; - $body .= ' '; - $body .= ' '; - $body .= ' '; - $body .= ' '; - $body .= ' '; - $body .= ' '; + $body .= ' '; + $body .= ' '; + $body .= ' '; + $body .= ' '; + $body .= ' '; + $body .= ' '; + $body .= ' '; + $body .= ' '; + $body .= ' '; + $body .= ' '; + $body .= ' '; $body .= ' '; $i++; @@ -188,7 +210,7 @@ try{ $body .= '
'; $body .= 'Total R$ '.number_format($totalGeneral, 2, ',', '.').'
'; - $body .= 'Total Taxas R$ '.number_format($totalFees, 2, ',', '.').'
'; + $body .= 'Total Taxas - R$ '.number_format($totalFees, 2, ',', '.').'
'; $body .= 'Total Geral R$ '.number_format(($totalGeneral-$totalFees), 2, ',', '.').'
'; /** Acrescenta os dados ao corpo do relatório */
'.$Result->movement_reference.''.date('d/m/Y', strtotime($Result->movement_date_scheduled)).''.(isset($Result->movement_date_paid) ? date('d/m/Y', strtotime($Result->movement_date_paid)) : ($Main->CheckDay($Result->movement_date_scheduled) > 1 ? $Main->diffDate($Result->movement_date_scheduled, date('Y-m-d')).' dia(s) de atraso' : '')).''.$Result->description.''.$Result->cns.''.( isset($Result->note) ? $Result->note : '' ).''.number_format($Result->movement_value, 2, ',', '.').''.( isset($Result->movement_value_paid) ? number_format(($Result->movement_value_paid-$Result->movement_value), 2, ',', '.') : '').''.( isset($Result->movement_value_registration_tariff) ? number_format($Result->movement_value_registration_tariff+$Result->movement_value_settlement_tariff, 2, ',', '.') : '').''.( isset($Result->movement_value_paid) ? number_format(($Result->movement_value_paid+($Result->movement_value_registration_tariff+$Result->movement_value_settlement_tariff)), 2, ',', '.') : number_format($Result->movement_value, 2, ',', '.')).''.$i.''.$Result->movement_reference.''.date('d/m/Y', strtotime($Result->movement_date_scheduled)).''.(isset($Result->movement_date_paid) ? date('d/m/Y', strtotime($Result->movement_date_paid)) : ($Main->CheckDay($Result->movement_date_scheduled) > 1 ? $Main->diffDate($Result->movement_date_scheduled, date('Y-m-d')).' dia(s) de atraso' : '')).''.$Result->description.''.$Result->cns.''.( isset($Result->note) ? $Result->note : '' ).''.number_format($Result->movement_value, 2, ',', '.').''.( isset($Result->movement_value_paid) ? number_format(($Result->movement_value_paid-$Result->movement_value), 2, ',', '.') : '').''.( isset($Result->movement_value_registration_tariff) ? '- '.number_format($Result->movement_value_registration_tariff+$Result->movement_value_settlement_tariff, 2, ',', '.') : '').''.( isset($Result->movement_value_paid) ? number_format(($Result->movement_value_paid+($Result->movement_value_registration_tariff+$Result->movement_value_settlement_tariff)), 2, ',', '.') : number_format($Result->movement_value, 2, ',', '.')).'