EdiParser
Parser para o arquivo do tipo EDI, transmitido pela Cielo para conciliação bancária, (*1)
Fork criado para ajuste de conciliação de cartões de Crédito CIELO, (*2)
, (*3)
format("Y-m-d") . "',
{$parcelaDataBaixaDesc} = '" . date("Y-m-d H:i:s") . "',
{$parcelaUsuarioBaixaDesc} = '" . $nr_usuario_id . "'
where {$parcelaStatusDesc} 'S' AND id_cad_cartao = " . $cartao['id_cad_cartao'];
$p_sql = $db->prepare($updateSQL);
$p_sql->execute();
$sqlUpdateSaldo = "UPDATE cartao_de_credito
SET saldo_a_receber = (valor_da_conta - ROUND((
(valor_1_recebido + custo_recebimento_1_parcela)
+ (valor_2_recebido + custo_recebimento_2_parcela)
+ (valor_3_recebido + custo_recebimento_3_parcela)
+ (valor_4_recebido + custo_recebimento_4_parcela)
+ (valor_5_recebido + custo_recebimento_5_parcela)
+ (valor_6_recebido + custo_recebimento_6_parcela)
),2)) WHERE id_cad_cartao = " . $cartao['id_cad_cartao'];
$p_sql = $db->prepare($sqlUpdateSaldo);
$p_sql->execute();
return true;
} catch (\Exception $e) {
var_dump($e, $cartao);
}
return false;
}
try{
$valorGeral = 0;
$valorSemComprovantesGeral = 0;
$valoresComissao = array();
$valorGeralLiquido = 0;
$valoresCancelados = array();
$countSemComprovantesGeral = 0;
$valoresCobrancas = array();
$resumos = array();
$valorPorComprovanteNaoEncontrados = array();
$DB_HOST = env('DB_HOST');
$DB_DATABASE = env('DB_DATABASE');
$DB_USERNAME = env('DB_USERNAME');
$DB_PASSWORD = env('DB_PASSWORD');
$db = new PDO("mysql:host={$DB_HOST};port=3306;dbname={$DB_DATABASE}",
$DB_USERNAME,
$DB_PASSWORD,
array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->setAttribute(PDO::ATTR_ORACLE_NULLS, PDO::NULL_EMPTY_STRING);
echo "";
echo "
";
echo "
";
foreach ($arquivos as $filename) {
try {
$arquivo = new Arquivo($filename);
$detalhes = $arquivo->getDetalhesRO();
$cont = 1;
$valorBruto = array();
$detalhesCount = array();
$detalhesValor = array();
$valorPorComprovante = array();
$valorSemComprovante = array();
$countSemCVs = 0;
$sumSemCVs = array();
$valorLiquido = array();
$valorComissao = array();
$valorCobrancas = array();
$jaBaixados = array();
$count = 0;
foreach ($detalhes as $detalhe) {
$valorBruto[] = $detalhe->getValorBruto();
$detalhesCV = $detalhe->getDetalhesCV();
$detalhesCount[] = count($detalhesCV);
$bruto = $detalhe->getValorBruto();
$valorPorComprovante[$cont]['total'] = $bruto;
if ($bruto getValorBruto();
} elseif ($bruto 0) {
$valoresCancelados[] = $detalhe->getValorBruto();
}
$valorLiquido[] = $valorPorComprovante[$cont]['liquido'] = $detalhe->getValorLiquido();
$valorPorComprovante[$cont]['dtPrevPagamento'] = $detalhe->getDtPrevPagamento();
$valorPorComprovante[$cont]['quantidadeCVs'] = $detalhe->getQuantidadeCVs();
$valorComissaoResumo = $detalhe->getValorComissao();
$valorComissao[] = $valorComissaoResumo;
$valorPorComprovante[$cont]['valorComissao'] = $valorComissaoResumo;
$taxaComissao = $detalhe->getTaxaDeComissao();
$valorPorComprovante[$cont]['taxaDeComissao'] = $taxaComissao;
$valorPorComprovante[$cont]['tarifa'] = $detalhe->getTarifa();
$valorPorComprovante[$cont]['IdentificadorProduto'] = $detalhe->getIdentificadorProduto();
$valorPorComprovante[$cont]['IdentificadorProdutoDesc'] = $detalhe->getIdentificadorProdutoDesc();
$valorPorComprovante[$cont]['numeroRO'] = $detalhe->getNumeroRO();
$valorPorComprovante[$cont]['codigoBandeira'] = $detalhe->getCodigoBandeira();
$dtCaptura = $detalhe->getDtCaptura();
$valorPorComprovante[$cont]['dtCaptura'] = $dtCaptura;
$valorPorComprovante[$cont]['Bandeira'] = $detalhe->getBandeira($valorPorComprovante[$cont]['codigoBandeira']);
$valorPorComprovante[$cont]['valores'] = array();
if (count($detalhesCV)) {
foreach ($detalhesCV as $detalheCV) {
$nsuDoc = $detalheCV->getNsuDoc();
$codigoAutorizacao = $detalheCV->getCodigoAutorizacao();
$valor = $detalheCV->getValor();
$parcela = $detalheCV->getParcela();
$totalParcelas = $detalheCV->getTotalParcelas();
$num_parcela = intval($parcela);
if ($num_parcela == 0) {
$num_parcela = 1;
}
$parcelaDesc = "valor_" . $num_parcela . "_parcela";
$parcelaRecebidoDesc = 'valor_' . $num_parcela . '_recebido';
$parcelaStatusDesc = 'status_recebido_' . $num_parcela . '_parcela';
$parcelaCustoDesc = 'custo_recebimento_' . $num_parcela . '_parcela';
$parcelaDataDesc = 'data_recebimento_' . $num_parcela . '_parcela_operadora';
$parcelaDataBaixaDesc = 'data_baixa_automatica_' . $num_parcela . '_parcela';
$parcelaUsuarioBaixaDesc = 'usuario_baixa_automatica_' . $num_parcela . '_parcela';
try {
$sql = "SELECT
c.id_cad_cartao,
c.data_da_conta,
c.operadora_do_cartao,
c.debito_ou_credito,
c.quantidade_de_parcelas,
c.titular_do_cartao,
c.valor_da_conta,
c.origem_da_conta,
c.contrato,
c.{$parcelaDesc},
c.{$parcelaRecebidoDesc},
c.{$parcelaStatusDesc},
c.{$parcelaCustoDesc},
c.{$parcelaDataDesc},
c.{$parcelaDataBaixaDesc},
c.{$parcelaUsuarioBaixaDesc},
IF(c.{$parcelaRecebidoDesc} > 0, 1, 0) as StatusParcela
FROM
cartao_de_credito c
WHERE
c.documento = :nsuDoc
AND c.autorizacao = :codigoAutorizacao
AND CAST(c.{$parcelaDesc} AS DECIMAL) = CAST(:valor AS DECIMAL)";
$p_sql = $db->prepare($sql);
$p_sql->bindValue(":nsuDoc", $nsuDoc);
$p_sql->bindValue(":codigoAutorizacao", $codigoAutorizacao);
$p_sql->bindValue(":valor", $valor);
$p_sql->execute();
$numRows = $p_sql->rowCount();
$cartao = $p_sql->fetch(PDO::FETCH_ASSOC);
$localizado = false;
$mensagem = '';
if ($numRows) {
$localizado = true;
} else {
$cartao = array();
echo "
";
echo "Cartão não encontrado !!
";
echo "nsuDoc: {$nsuDoc}
";
echo "codigoAutorizacao: {$codigoAutorizacao}
";
echo "Valor: {$valor}
";
echo "Data Previsão: {$valorPorComprovante[$cont]['dtPrevPagamento']->format('d/m/Y')}
";
echo "Bandeira: {$valorPorComprovante[$cont]['Bandeira']}
";
echo "Produto: {$valorPorComprovante[$cont]['IdentificadorProdutoDesc']}
";
echo "Dt. Captura: {$valorPorComprovante[$cont]['dtCaptura']->format('d/m/Y')}
";
$p_sql = $db->prepare($sql);
$p_sql->bindValue(":nsuDoc", $codigoAutorizacao);
$p_sql->bindValue(":codigoAutorizacao", $nsuDoc);
$p_sql->bindValue(":valor", $valor);
$p_sql->execute();
$numRows2 = $p_sql->rowCount();
$cartao2 = $p_sql->fetch(PDO::FETCH_ASSOC);
if ($numRows2) {
echo $mensagem = "Causa: Código de Documento e Autorização invertidos !!
" .
"Parcela: {$parcela}/{$totalParcelas}
";
} else {
$sql2 = "SELECT
c.id_cad_cartao,
c.data_da_conta,
c.operadora_do_cartao,
c.debito_ou_credito,
c.quantidade_de_parcelas,
c.titular_do_cartao,
c.valor_da_conta,
c.origem_da_conta,
c.contrato,
c.{$parcelaDesc},
c.{$parcelaRecebidoDesc},
c.{$parcelaStatusDesc},
c.{$parcelaCustoDesc},
c.{$parcelaDataDesc},
c.{$parcelaDataBaixaDesc},
c.{$parcelaUsuarioBaixaDesc},
IF(c.{$parcelaRecebidoDesc} > 0, 1, 0) as StatusParcela
FROM
cartao_de_credito c
WHERE
c.documento = :nsuDoc
AND CAST(c.{$parcelaDesc} AS DECIMAL) = CAST(:valor AS DECIMAL)";
$p_sql = $db->prepare($sql2);
$p_sql->bindValue(":nsuDoc", $nsuDoc);
$p_sql->bindValue(":valor", $valor);
$p_sql->execute();
$numRows2 = $p_sql->rowCount();
$cartao2 = $p_sql->fetch(PDO::FETCH_ASSOC);
if ($numRows2) {
echo $mensagem = "" .
"Provável Causa: Código de Autorização incorreto !!
" .
"Pesquise pelo Número do Documento: {$nsuDoc}
" .
"Parcela: {$parcela}/{$totalParcelas}" .
"
";
} else {
$sql2 = "SELECT
c.id_cad_cartao,
c.data_da_conta,
c.operadora_do_cartao,
c.debito_ou_credito,
c.quantidade_de_parcelas,
c.titular_do_cartao,
c.valor_da_conta,
c.origem_da_conta,
c.contrato,
c.{$parcelaDesc},
c.{$parcelaRecebidoDesc},
c.{$parcelaStatusDesc},
c.{$parcelaCustoDesc},
c.{$parcelaDataDesc},
c.{$parcelaDataBaixaDesc},
c.{$parcelaUsuarioBaixaDesc},
IF(c.{$parcelaRecebidoDesc} > 0, 1, 0) as StatusParcela
FROM
cartao_de_credito c
WHERE
c.autorizacao = :codigoAutorizacao
AND CAST(c.{$parcelaDesc} AS DECIMAL) = CAST(:valor AS DECIMAL)";
$p_sql = $db->prepare($sql2);
$p_sql->bindValue(":codigoAutorizacao", $codigoAutorizacao);
$p_sql->bindValue(":valor", $valor);
$p_sql->execute();
$numRows2 = $p_sql->rowCount();
$cartao2 = $p_sql->fetch(PDO::FETCH_ASSOC);
if ($numRows2) {
echo $mensagem = "Provável Causa: Código de Documento incorreto !!
" .
"Pesquise pelo Código de Autorização: {$codigoAutorizacao}
" .
"Parcela: {$parcela}/{$totalParcelas}
";
} else {
$sql2 = "SELECT
c.id_cad_cartao,
c.data_da_conta,
c.operadora_do_cartao,
c.debito_ou_credito,
c.quantidade_de_parcelas,
c.titular_do_cartao,
c.valor_da_conta,
c.origem_da_conta,
c.contrato,
c.{$parcelaDesc},
c.{$parcelaRecebidoDesc},
c.{$parcelaStatusDesc},
c.{$parcelaCustoDesc},
c.{$parcelaDataDesc},
c.{$parcelaDataBaixaDesc},
c.{$parcelaUsuarioBaixaDesc},
IF(c.{$parcelaRecebidoDesc} > 0, 1, 0) as StatusParcela
FROM
cartao_de_credito c
WHERE
c.autorizacao = :codigoAutorizacao
AND c.documento = :nsuDoc ";
$p_sql = $db->prepare($sql2);
$p_sql->bindValue(":codigoAutorizacao", $codigoAutorizacao);
$p_sql->bindValue(":nsuDoc", $nsuDoc);
$p_sql->execute();
$numRows2 = $p_sql->rowCount();
$cartao2 = $p_sql->fetch(PDO::FETCH_ASSOC);
if ($numRows2) {
echo $mensagem = "Provável Causa: Valor cadastrado incorretamente !!
" .
"Valor Comprovante: {$valor}
" .
"Valor Cadastrado: {$cartao2[$parcelaDesc]}
" .
"Parcela: {$parcela}/{$totalParcelas}" .
"
";
} else {
echo $mensagem = "" .
"Provável Causa: Comprovante não cadastrado ou cadastrado incorretamente !!
" .
"Consulte o número de Doc.:{$nsuDoc}
" .
"Código de Autorização: {$codigoAutorizacao}
" .
"Para localiza-lo no relátorio de Cartões.
";
}
}
}
}
echo "";
}
} catch (\Exception $e) {
$params = $p_sql->debugDumpParams();
print_r($e);
var_dump($sql, $nsuDoc, $codigoAutorizacao, $valor, $params);
die();
}
$detalhesValor[] = $detalheCV->getValor();
$dataParcela = array(
'valor' => $valor,
'dtVenda' => $detalheCV->getDtVendaAjuste(),
'tid' => $detalheCV->getTid(),
'parcela' => $parcela,
'totalParcelas' => $totalParcelas,
'nsuDoc' => $nsuDoc,
'codigoAutorizacao' => $codigoAutorizacao,
'localizado' => $localizado,
'mensagem' => $mensagem
);
$calculaComissao = calculaComissao($valor, $taxaComissao);
$calculaLiquido = $valor - $calculaComissao;
$dataParcela['valorLiquido'] = $calculaLiquido;
$dataParcela['valorComissao'] = $calculaComissao;
$dataParcela['dtBaixa'] = $arquivo->getHeader()->getDtProcessamento();
$dataParcela['dtCaptura'] = $dtCaptura;
$valorArr = array_merge($dataParcela, $cartao);
$baixa = false;
if ($baixar && $localizado && isset($cartao['StatusParcela']) && $cartao['StatusParcela'] == 0 && count($cartao) > 0) {
$baixa = baixaParcela($db, $valorArr);
}
$valorArr['baixa'] = $baixa;
$valorPorComprovante[$cont]['valores'][] = $valorArr;
}
if (!$localizado) {
$valorArr['Bandeira'] = $valorPorComprovante[$cont]['Bandeira'];
$valorArr['IdentificadorProdutoDesc'] = $valorPorComprovante[$cont]['IdentificadorProdutoDesc'];
$valorPorComprovanteNaoEncontrados[$cont][] = $valorArr;
}
} else {
if ($bruto > 0) {
$valorPorComprovante[$cont]['mensagem'] = 'Resumo de Operações sem CV\'s';
$countSemCVs++;
$sumSemCVs[] = $bruto;
$valorSemComprovante[$cont] = $valorPorComprovante[$cont];
}
}
$cont++;
}
if (count($valorPorComprovante) == 0) {
continue;
}
echo "
";
$dataArquivo = $arquivo->getHeader()->getDtProcessamento()->format('d/m/Y');
echo "
| {$dataArquivo} - Arquivo: {$filename} |
";
echo
|
Bruto |
Comissão |
Líquido |
Data Pag. |
CVs |
Bandeira |
Produto |
Valor Comissão CV |
Valor Líquido CV |
Parcela |
Status |
Valor CV |
Contrato |
Titular Cartão |
Data Venda |
NsuDoc |
Autorização |
EOF;
$countCVs = 1;
foreach ($valorPorComprovante as $comprovante) {
$colorComprovante = $color = '#FFFFFF';
$colorComprovanteText = $colorText = '#000000';
if (intval($comprovante['quantidadeCVs']) > 1) {
$color = 'lightsteelblue';
$colorText = '#5D5D5D';
$colorComprovante = '#447FCC';
$colorComprovanteText = '#FFF';
}
if (count($comprovante['valores']) == 0) {
$color = '#E03C30';
$colorText = '#FFF';
}
if (intval($comprovante['total']) 0) {
$color = '#4C9980';
$colorText = '#FFF';
}
$comprovante['totalDesc'] = formatNumber($comprovante['total']);
$comprovante['valorComissaoDesc'] = formatNumber($comprovante['valorComissao']);
$comprovante['liquidoDesc'] = formatNumber($comprovante['liquido']);
if ($comprovante['valores']) {
$cont = 0;
foreach ($comprovante['valores'] as $cv) {
$calculaComissao = calculaComissao($cv['valor'], $comprovante['taxaDeComissao']);
$calculaComissao = number_format( $calculaComissao, 2, '.', '' );
$calculaLiquido = $cv['valor'] - $calculaComissao;
if (isset($cv['StatusParcela']) && $cv['StatusParcela'] == 1) {
$jaBaixados[] = ['valor' => $cv['valor'], 'liquido' => $calculaLiquido, 'comissao' => $calculaComissao];
}
$calculaComissao = number_format($calculaComissao, 2, ',', '');
$calculaLiquido = number_format($calculaLiquido, 2, ',', '');
$localizado = $cv['localizado'] ? ($cv['StatusParcela'] == 1 ? 'Já Baixado' : 'Encontrado') : 'Não Encontrado';
$baixa = $cv['baixa'] ? ' - Baixado com sucesso' : '';
$colorComprovante = $cv['localizado'] ? $colorComprovante : 'red';
$cv['valorDesc'] = formatNumber($cv['valor']);
echo
EOF;
if ($cont == 0) {
echo {$countCVs}
{$comprovante['totalDesc']} |
{$comprovante['valorComissaoDesc']} |
{$comprovante['liquidoDesc']} |
{$comprovante['dtPrevPagamento']->format('d/m/Y')} |
{$comprovante['quantidadeCVs']} |
{$comprovante['Bandeira']}/{$comprovante['codigoBandeira']} |
{$comprovante['IdentificadorProdutoDesc']} |
EOF;
} else {
$countCVs++;
echo {$countCVs}
|
{$comprovante['Bandeira']}/{$comprovante['codigoBandeira']} |
{$comprovante['IdentificadorProdutoDesc']} |
EOF;
}
$cont++;
$cv['contrato'] = isset($cv['contrato']) ? $cv['contrato'] : '';
$cv['titular_do_cartao'] = isset($cv['titular_do_cartao']) ? $cv['titular_do_cartao'] : '';
$cv['nsuDoc'] = isset($cv['nsuDoc']) ? $cv['nsuDoc'] : '';
$cv['codigoAutorizacao'] = isset($cv['codigoAutorizacao']) ? $cv['codigoAutorizacao'] : '';
echo {$calculaComissao}
{$calculaLiquido} |
{$cv['parcela']}/{$cv['totalParcelas']} |
{$localizado}{$baixa} |
{$cv['valorDesc']} |
{$cv['contrato']} |
{$cv['titular_do_cartao']} |
{$cv['dtVenda']->format('d/m/Y')} |
{$cv['nsuDoc']} |
{$cv['codigoAutorizacao']} |
EOF;
}
} else {
$mensagem = $comprovante['total']
{$countCVs} |
{$comprovante['totalDesc']} |
{$comprovante['valorComissaoDesc']} |
{$comprovante['liquidoDesc']} |
{$comprovante['dtPrevPagamento']->format('d/m/Y')} |
{$comprovante['quantidadeCVs']} |
{$comprovante['Bandeira']}/{$comprovante['codigoBandeira']} |
{$comprovante['IdentificadorProdutoDesc']} |
$mensagem |
EOF;
}
$countCVs++;
}
$resumos[$filename]['jaBaixados'] = ($jaBaixados);
//echo 'Total de Cv\'s: ';
$resumos[$filename]['totalCvs'] = array_sum($detalhesCount);
//echo 'Total Bruto Resumo: ';
$valorGeral += array_sum($valorBruto);
$resumos[$filename]['valorBrutoRO'] = array_sum($valorBruto);
//echo 'Total Bruto Comprovantes: ';
$resumos[$filename]['valorBrutoCVs'] = array_sum($detalhesValor);
//echo 'Total Liquido Resumo: ';
$resumos[$filename]['valorLiquido'] = array_sum($valorLiquido);
$valorGeralLiquido += array_sum($valorLiquido);
$resumos[$filename]['valorComissao'] = array_sum($valorComissao);
$valoresComissao[] = $resumos[$filename]['valorComissao'];
//echo 'Total Cobranças: ';
$valoresCobrancas[$filename] = array_sum($valorCobrancas);
$resumos[$filename]['CountROsemCVs'] = 0;
$resumos[$filename]['ValorROsemCVs'] = 0;
$resumos[$filename]['OperacoesSemCVs'] = [];
if (count($valorSemComprovante)) {
//echo 'Operacoes sem Comprovantes: ';
$countSemComprovantesGeral += ($countSemCVs);
$resumos[$filename]['CountROsemCVs'] = ($countSemCVs);
//echo 'Valor sem Comprovantes: ';
$valorSemComprovantesGeral += array_sum($sumSemCVs);
$resumos[$filename]['ValorROsemCVs'] = array_sum($sumSemCVs);
//echo 'Operacoes sem Comprovantes: ';
$resumos[$filename]['OperacoesSemCVs'] = ($valorSemComprovante);
}
$background = 'background-color:grey;text-align:right;';
$cobranca = formatNumber($valoresCobrancas[$filename]);
$valorBrutoDia = formatNumber($resumos[$filename]['valorBrutoRO']);
$valorBrutoCVs = formatNumber($resumos[$filename]['valorBrutoCVs']);
$valorComissaoDia = formatNumber($resumos[$filename]['valorComissao']);
$valorLiquidoDia = formatNumber($resumos[$filename]['valorLiquido']);
$valorSemCVDia = formatNumber($resumos[$filename]['ValorROsemCVs']);
$resumos[$filename]['data'] = $dataArquivo;
$resumos[$filename]['cobranca'] = $valoresCobrancas[$filename];
$valoresCanceladosDesc = formatNumber(array_sum($valoresCancelados));
$sumJaBaixados = array_sum(array_column($resumos[$filename]['jaBaixados'], 'valor'));
$sumJaBaixadosDesc = formatNumber($sumJaBaixados);
$sumJaBaixadosLiquido = array_sum(array_column($resumos[$filename]['jaBaixados'], 'liquido'));
$sumJaBaixadosLiquidoDesc = formatNumber($sumJaBaixadosLiquido);
$sumJaBaixadosComissao = array_sum(array_column($resumos[$filename]['jaBaixados'], 'comissao'));
$sumJaBaixadosComissaoDesc = formatNumber($sumJaBaixadosComissao);
$countJaBaixados = count($resumos[$filename]['jaBaixados']);
$saldoABaixar = $resumos[$filename]['valorBrutoCVs'] - $sumJaBaixados;
$saldoABaixarDesc = formatNumber($saldoABaixar);
$saldoABaixarLiquido = $resumos[$filename]['valorLiquido'] - $sumJaBaixadosLiquido;
$saldoABaixarLiquidoDesc = formatNumber($saldoABaixarLiquido);
$saldoABaixarComissao = $resumos[$filename]['valorComissao'] - (-$sumJaBaixadosComissao);
$saldoABaixarComissaoDesc = formatNumber($saldoABaixarComissao);
$countSaldoCVS = $resumos[$filename]['totalCvs'] - $countJaBaixados;
echo
Resumo do Dia |
| Data |
{$dataArquivo} |
| Quantidade de CV's |
{$resumos[$filename]['totalCvs']} |
| Valor Bruto Resumo de Operações |
{$valorBrutoDia} |
| Valor Bruto de CV's |
{$valorBrutoCVs} |
| Valor Comissão |
{$valorComissaoDia} |
| Valor Líquido Depositado |
{$valorLiquidoDia} |
| Operações sem CV's |
{$resumos[$filename]['CountROsemCVs']} |
| Valor sem CV's |
{$valorSemCVDia} |
| Cobranças |
{$cobranca} |
| Cancelamentos |
{$valoresCanceladosDesc} |
| Quantidade de CV's já Baixados |
{$countJaBaixados} |
| Valor Bruto já Baixado |
{$sumJaBaixadosDesc} |
| Valor Bruto já Baixado Líquido |
{$sumJaBaixadosLiquidoDesc} |
| Valor Bruto já Baixado Comissão |
{$sumJaBaixadosComissaoDesc} |
| Quantidade de CV's a baixar |
{$countSaldoCVS} |
| Valor Bruto a baixar |
{$saldoABaixarDesc} |
| Valor Bruto a baixar Liquido |
{$saldoABaixarLiquidoDesc} |
| Valor Bruto a baixar Comissão |
{$saldoABaixarComissaoDesc} |
EOF;
if (!is_null($det = $arquivo->getDetalheAntecipacao())) {
try {
$valorAntecipacao = $det->getValorBrutoAntecipacaoTotal();
$valorLiquidoAntecipacaoTotal = $det->getValorLiquidoAntecipacaoTotal();
$diff = $valorAntecipacao - $valorLiquidoAntecipacaoTotal;
$resumos[$filename]['valorComissao'] = -($resumos[$filename]['valorComissao']);
$resumos[$filename]['valorLiquido'] = $resumos[$filename]['valorLiquido'] - $diff;
$valorCobrancas[] = -($diff);
$valoresCobrancas[$filename] = array_sum($valorCobrancas);
$resumos[$filename]['cobranca'] = $valoresCobrancas[$filename];
$valorAntecipacaoDesc = formatNumber($valorAntecipacao);
$diffDesc = formatNumber($diff);
$valorLiquidoAntecipacaoTotalDesc = formatNumber($valorLiquidoAntecipacaoTotal);
echo
Valor Bruto Antecipação |
{$valorAntecipacaoDesc} |
| Taxa Antecipação |
{$diffDesc} |
| Valor Líquido Antecipação |
{$valorLiquidoAntecipacaoTotalDesc} |
EOF;
} catch (\Exception $e) {
var_dump($e);
}
}
echo "
";
$valoresCancelados = [];
} catch (\Exception $e) {
echo "
";
echo "Arquivo: $filename";
echo "
";
echo "Erro: ", $e->getMessage();
echo "
";
echo "Linha: ", $e->getLine();
echo "
";
echo "Linha: ", $e->getFile();
echo "
";
echo "";
}
}
echo '
';
echo "Resumo";
echo
| Data |
Quantidade de CV's |
Valor Líquido Depositado |
Valor Comissão |
Valor Bruto Resumo de Operações |
Valor Bruto de CV's |
Operações sem CV's |
Valor sem CV's |
Cobranças |
EOF;
$sumTotalCvs = 0;
$sumValorBrutoRO = 0;
$sumValorBrutoCVs = 0;
$sumValorComissao = 0;
$sumValorLiquido = 0;
$sumCountROsemCVs = 0;
$sumValorROsemCVs = 0;
$sumCobranca = 0;
foreach ($resumos as $resumo) {
if ($resumo['valorLiquido'] > 0) {
$sumTotalCvs += $resumo['totalCvs'];
$sumValorBrutoRO += $resumo['valorBrutoRO'];
$sumValorBrutoCVs += $resumo['valorBrutoCVs'];
$sumValorComissao += $resumo['valorComissao'];
$sumValorLiquido += $resumo['valorLiquido'];
$sumCountROsemCVs += $resumo['CountROsemCVs'];
$sumValorROsemCVs += $resumo['ValorROsemCVs'];
$sumCobranca += $resumo['cobranca'];
$resumo['valorBrutoRODesc'] = formatNumber($resumo['valorBrutoRO']);
$resumo['valorBrutoCVsDesc'] = formatNumber($resumo['valorBrutoCVs']);
$resumo['valorComissaoDesc'] = formatNumber($resumo['valorComissao']);
$resumo['valorLiquidoDesc'] = formatNumber($resumo['valorLiquido']);
$resumo['ValorROsemCVsDesc'] = formatNumber($resumo['ValorROsemCVs']);
$resumo['cobrancaDesc'] = formatNumber($resumo['cobranca']);
echo
{$resumo['data']} |
{$resumo['totalCvs']} |
{$resumo['valorLiquidoDesc']} |
{$resumo['valorComissaoDesc']} |
{$resumo['valorBrutoRODesc']} |
{$resumo['valorBrutoCVsDesc']} |
{$resumo['CountROsemCVs']} |
{$resumo['ValorROsemCVsDesc']} |
{$resumo['cobrancaDesc']} |
EOF;
}
}
$sumValorBrutoRODesc = formatNumber($sumValorBrutoRO);
$sumValorBrutoCVsDesc = formatNumber($sumValorBrutoCVs);
$sumValorComissaoDesc = formatNumber($sumValorComissao);
$sumValorLiquidoDesc = formatNumber($sumValorLiquido);
$sumValorROsemCVsDesc = formatNumber($sumValorROsemCVs);
$sumCobrancaDesc = formatNumber($sumCobranca);
echo
|
{$sumTotalCvs} |
{$sumValorLiquidoDesc} |
{$sumValorComissaoDesc} |
{$sumValorBrutoRODesc} |
{$sumValorBrutoCVsDesc} |
{$sumCountROsemCVs} |
{$sumValorROsemCVsDesc} |
{$sumCobrancaDesc} |
EOF;
$sumBruto = $sumValorBrutoCVs + $sumValorROsemCVs;
$sumBrutoDesc = formatNumber($sumBruto);
echo
|
Total Bruto |
{$sumBrutoDesc} |
EOF;
echo '
';
if (count($valorPorComprovanteNaoEncontrados)) {
echo "
";
echo "
";
echo "Cartões não encontrados";
echo
| |
Valor |
Data Venda |
Parcela |
Documento |
Autorização |
Mensagem |
Bandeira |
Produto |
EOF;
$cont = 1;
foreach ($valorPorComprovanteNaoEncontrados as $resumo) {
foreach ($resumo as $valorCV) {
echo
{$cont} |
{$valorCV['valor']} |
{$valorCV['dtVenda']->format('d/m/Y')} |
{$valorCV['parcela']}/{$valorCV['totalParcelas']} |
{$valorCV['nsuDoc']} |
{$valorCV['codigoAutorizacao']} |
{$valorCV['mensagem']} |
{$valorCV['Bandeira']} |
{$valorCV['IdentificadorProdutoDesc']} |
EOF;
$cont++;
}
}
echo "
";
//echo "";
}
if (count($resumos)) {
$countSemCVS = 0;
foreach ($resumos as $resumo) {
foreach ($resumo['OperacoesSemCVs'] as $op) {
$countSemCVS++;
}
}
if ($countSemCVS) {
echo "
";
echo "
";
echo "Comprovantes Faltantes";
echo
| |
Valor |
Comissao |
Líquido |
Data Venda |
Data Pagamento |
Taxa % |
Bandeira |
Numero RO |
Tipo |
EOF;
$cont = 1;
foreach ($resumos as $resumo) {
foreach ($resumo['OperacoesSemCVs'] as $op) {
$valorComissao_ = number_format($op['valorComissao'], 2, ',', '');
$valorLiquido_ = number_format($op['liquido'], 2, ',', '');
$valorTotal_ = number_format($op['total'], 2, ',', '');
echo
{$cont} |
{$valorTotal_} |
{$valorComissao_} |
{$valorLiquido_} |
{$op['dtCaptura']->format('d/m/Y')} |
{$op['dtPrevPagamento']->format('d/m/Y')} |
{$op['taxaDeComissao']} |
{$op['Bandeira']} - {$op['codigoBandeira']} |
{$op['numeroRO']} |
{$op['IdentificadorProdutoDesc']} - {$op['IdentificadorProduto']} |
EOF;
$cont++;
}
}
echo "
";
}
}
echo "
";
echo "
";
echo "
";
} catch (\Exception $e) {
dd($e);
}
?>