protected function filterData(array $data) { $data = parent::filterData($data); $data = array_merge($data, array('texto_sacado' => 'Pagador', 'texto_cedente' => 'Beneficiário', 'texto_valor_unitario' => 'x Valor', 'exibir_demonstrativo_na_ficha' => false, 'exibir_demonstrativo_no_recibo' => true, 'agencia_codigo' => $data['agencia'] . ' / ' . $data['conta'] . $data['conta_dv'])); $codigoBanco = $this->getCodigoBancoFormatado(); $moeda = "9"; $fixo = "9"; $ios = "0"; $carteira = $data['carteira']; $fator_vencimento = $this->fatorVencimento($data["data_vencimento"]); $valor = FormatterHelper::formataNumero($data["valor_boleto"], 10, 0, "valor"); $codigoCedente = FormatterHelper::formataNumero($data["codigo_cedente"], 7, 0); $nossoNumero = FormatterHelper::formataNumero($data["nosso_numero"], 7, 0); //dv do nosso número $dvNossoNumero = $this->modulo11($nossoNumero, 9, 0); // nosso número (com dvs) são 13 digitos $nossoNumero = "00000" . $nossoNumero . $dvNossoNumero; $vencimento = $data["data_vencimento"]; /* Código de Barras */ $barra = "{$codigoBanco}{$moeda}{$fator_vencimento}{$valor}{$fixo}{$codigoCedente}{$nossoNumero}{$ios}{$carteira}"; /* Linha Digitável */ $dv = $this->digitoVerificadorBarra($barra); $linha = substr($barra, 0, 4) . $dv . substr($barra, 4); $data["codigo_barras"] = $linha; $data["linha_digitavel"] = $this->montaLinhaDigitavel($linha); $data["nosso_numero"] = $nossoNumero; return $data; }
protected function filterData(array $data) { $data = parent::filterData($data); $data = array_merge($data, array('exibir_demonstrativo_na_ficha' => false, 'exibir_demonstrativo_no_recibo' => true, 'texto_valor_unitario' => 'Valor Documento')); $codigobanco = $this->getCodigoBanco(); $codigo_banco_com_dv = $this->getCodigoBancoComDv(); $nummoeda = "9"; $fator_vencimento = $this->fatorVencimento($data["data_vencimento"]); //valor tem 10 digitos, sem virgula $valor = FormatterHelper::formataNumero($data["valor_boleto"], 10, 0, "valor"); //agencia é 4 digitos $agencia = FormatterHelper::formataNumero($data["agencia"], 4, 0); //conta é 5 digitos + 1 do dv $conta = FormatterHelper::formataNumero($data["conta"], 5, 0); $conta_dv = FormatterHelper::formataNumero($data["conta_dv"], 1, 0); //carteira 175 $carteira = $data["carteira"]; //nosso_numero no maximo 8 digitos $nnum = FormatterHelper::formataNumero($data["nosso_numero"], 8, 0); $codigo_barras = $codigobanco . $nummoeda . $fator_vencimento . $valor . $carteira . $nnum . $this->modulo10($agencia . $conta . $carteira . $nnum) . $agencia . $conta . $this->modulo10($agencia . $conta) . '000'; // 43 numeros para o calculo do digito verificador $dv = $this->digitoVerificadorBarra($codigo_barras); // Numero para o codigo de barras com 44 digitos $linha = substr($codigo_barras, 0, 4) . $dv . substr($codigo_barras, 4, 43); $nossonumero = $carteira . '/' . $nnum . '-' . $this->modulo10($agencia . $conta . $carteira . $nnum); $agencia_codigo = $agencia . " / " . $conta . "-" . $this->modulo10($agencia . $conta); $data["codigo_barras"] = $linha; $data["linha_digitavel"] = $this->montaLinhaDigitavel($linha); // verificar $data["agencia_codigo"] = $agencia_codigo; $data["nosso_numero"] = $nossonumero; $data["codigo_banco_com_dv"] = $codigo_banco_com_dv; return $data; }
protected function filterData(array $dadosboleto) { $dadosboleto = parent::filterData($dadosboleto); $tamanhoNumeroConvenio = strlen($dadosboleto['convenio']); $tamanhoNossoNumero = strlen($dadosboleto['nosso_numero']); if ($tamanhoNumeroConvenio == 6) { $dadosboleto["formatacao_convenio"] = '6'; } else { if ($tamanhoNumeroConvenio == 7) { $dadosboleto["formatacao_convenio"] = '7'; } else { if ($tamanhoNumeroConvenio == 8) { $dadosboleto["formatacao_convenio"] = '8'; } } } if ($tamanhoNossoNumero <= 5) { $dadosboleto['formatacao_nosso_numero'] = '1'; } else { $dadosboleto['formatacao_nosso_numero'] = '2'; } $codigobanco = $this->getCodigoBancoFormatado(); $codigo_banco_com_dv = $this->getCodigoBancoComDv(); $nummoeda = "9"; $fator_vencimento = $this->fatorVencimento($dadosboleto["data_vencimento"]); //valor tem 10 digitos, sem virgula $valor = FormatterHelper::formataNumero($dadosboleto["valor_boleto"], 10, 0, "valor"); //agencia é sempre 4 digitos $agencia = FormatterHelper::formataNumero($dadosboleto["agencia"], 4, 0); //conta é sempre 8 digitos $conta = FormatterHelper::formataNumero($dadosboleto["conta"], 8, 0); //carteira 18 $carteira = $dadosboleto["carteira"]; //agencia e conta $agencia_codigo = $agencia . "-" . $this->modulo11($agencia) . " / " . $conta . "-" . $this->modulo11($conta); //Zeros: usado quando convenio de 7 digitos $livre_zeros = '000000'; // Carteira 18 com Convênio de 8 dígitos if ($dadosboleto["formatacao_convenio"] == "8") { $convenio = FormatterHelper::formataNumero($dadosboleto["convenio"], 8, 0, "convenio"); // Nosso número de até 9 dígitos $nossonumero = FormatterHelper::formataNumero($dadosboleto["nosso_numero"], 9, 0); $dv = $this->modulo11("{$codigobanco}{$nummoeda}{$fator_vencimento}{$valor}{$livre_zeros}{$convenio}{$nossonumero}{$carteira}"); $linha = "{$codigobanco}{$nummoeda}{$dv}{$fator_vencimento}{$valor}{$livre_zeros}{$convenio}{$nossonumero}{$carteira}"; //montando o nosso numero que aparecerá no boleto $nossonumero = $convenio . $nossonumero . "-" . $this->modulo11($convenio . $nossonumero); } // Carteira 18 com Convênio de 7 dígitos if ($dadosboleto["formatacao_convenio"] == "7") { $convenio = FormatterHelper::formataNumero($dadosboleto["convenio"], 7, 0, "convenio"); //var_dump($convenio);die; // Nosso número de até 10 dígitos $nossonumero = FormatterHelper::formataNumero($dadosboleto["nosso_numero"], 10, 0); $dv = $this->modulo11("{$codigobanco}{$nummoeda}{$fator_vencimento}{$valor}{$livre_zeros}{$convenio}{$nossonumero}{$carteira}"); $linha = "{$codigobanco}{$nummoeda}{$dv}{$fator_vencimento}{$valor}{$livre_zeros}{$convenio}{$nossonumero}{$carteira}"; $nossonumero = $convenio . $nossonumero; //Não existe DV na composição do nosso-número para convênios de sete posições } // Carteira 18 com Convênio de 6 dígitos if ($dadosboleto["formatacao_convenio"] == "6") { $convenio = FormatterHelper::formataNumero($dadosboleto["convenio"], 6, 0, "convenio"); if ($dadosboleto["formatacao_nosso_numero"] == "1") { // Nosso número de até 5 dígitos $nossonumero = FormatterHelper::formataNumero($dadosboleto["nosso_numero"], 5, 0); $dv = $this->modulo11("{$codigobanco}{$nummoeda}{$fator_vencimento}{$valor}{$convenio}{$nossonumero}{$agencia}{$conta}{$carteira}"); $linha = "{$codigobanco}{$nummoeda}{$dv}{$fator_vencimento}{$valor}{$convenio}{$nossonumero}{$agencia}{$conta}{$carteira}"; //montando o nosso numero que aparecerá no boleto $nossonumero = $convenio . $nossonumero . "-" . $this->modulo11($convenio . $nossonumero); } if ($dadosboleto["formatacao_nosso_numero"] == "2") { // Nosso número de até 17 dígitos $nservico = "21"; $nossonumero = FormatterHelper::formataNumero($dadosboleto["nosso_numero"], 17, 0); $dv = $this->modulo11("{$codigobanco}{$nummoeda}{$fator_vencimento}{$valor}{$convenio}{$nossonumero}{$nservico}"); $linha = "{$codigobanco}{$nummoeda}{$dv}{$fator_vencimento}{$valor}{$convenio}{$nossonumero}{$nservico}"; } } $dadosboleto["codigo_barras"] = $linha; $dadosboleto["linha_digitavel"] = $this->montaLinhaDigitavel($linha); $dadosboleto["agencia_codigo"] = $agencia_codigo; $dadosboleto["nosso_numero"] = $nossonumero; $dadosboleto["codigo_banco_com_dv"] = $codigo_banco_com_dv; return $dadosboleto; }
public function barcode($valor) { ob_start(); $fino = 1; $largo = 3; $altura = 50; $barcodes[0] = "00110"; $barcodes[1] = "10001"; $barcodes[2] = "01001"; $barcodes[3] = "11000"; $barcodes[4] = "00101"; $barcodes[5] = "10100"; $barcodes[6] = "01100"; $barcodes[7] = "00011"; $barcodes[8] = "10010"; $barcodes[9] = "01010"; for ($f1 = 9; $f1 >= 0; $f1--) { for ($f2 = 9; $f2 >= 0; $f2--) { $f = $f1 * 10 + $f2; $texto = ""; for ($i = 1; $i < 6; $i++) { $texto .= substr($barcodes[$f1], $i - 1, 1) . substr($barcodes[$f2], $i - 1, 1); } $barcodes[$f] = $texto; } } ?> <img src=<?php echo $this->makeImageUrl('p.png'); ?> width=<?php echo $fino; ?> height=<?php echo $altura; ?> border=0><img src=<?php echo $this->makeImageUrl('b.png'); ?> width=<?php echo $fino; ?> height=<?php echo $altura; ?> border=0><img src=<?php echo $this->makeImageUrl('p.png'); ?> width=<?php echo $fino; ?> height=<?php echo $altura; ?> border=0><img src=<?php echo $this->makeImageUrl('b.png'); ?> width=<?php echo $fino; ?> height=<?php echo $altura; ?> border=0><img <?php $texto = $valor; if (strlen($texto) % 2 != 0) { $texto = "0" . $texto; } // Draw dos dados while (strlen($texto) > 0) { $i = round(FormatterHelper::esquerda($texto, 2)); $texto = FormatterHelper::direita($texto, strlen($texto) - 2); $f = $barcodes[$i]; for ($i = 1; $i < 11; $i += 2) { if (substr($f, $i - 1, 1) == "0") { $f1 = $fino; } else { $f1 = $largo; } ?> src=<?php echo $this->makeImageUrl('p.png'); ?> width=<?php echo $f1; ?> height=<?php echo $altura; ?> border=0><img <?php if (substr($f, $i, 1) == "0") { $f2 = $fino; } else { $f2 = $largo; } ?> src=<?php echo $this->makeImageUrl('b.png'); ?> width=<?php echo $f2; ?> height=<?php echo $altura; ?> border=0><img <?php } } // Draw guarda final ?> src=<?php echo $this->makeImageUrl('p.png'); ?> width=<?php echo $largo; ?> height=<?php echo $altura; ?> border=0><img src=<?php echo $this->makeImageUrl('b.png'); ?> width=<?php echo $fino; ?> height=<?php echo $altura; ?> border=0><img src=<?php echo $this->makeImageUrl('p.png'); ?> width=<?php echo 1; ?> height=<?php echo $altura; ?> border=0> <?php $result = ob_get_contents(); ob_end_clean(); return $result; }