Autor Tópico: BoletoPhp + Lotes  (Lida 783 vezes)

dtanci

  • Novato
  • *
  • Mensagens: 3
    • Email
BoletoPhp + Lotes
« Online: Março 07, 2016, 04:32:28 pm »
Ola, sou novo no forum e novo com boletophp, procurei no forum e não achei nada que me ajudasse então vou postar minha duvida...

Bom estou criando um sistema para gerar boletos em lote por período e parece tudo dar certo menos uma coisa, na linha digital o nosso_numero esta repetindo em todos os boletos ele parece nao fazer o while para buscar o novo nosso_numero, porem o resto das informações é atualizada

periodo.php

Código: [Selecionar]
<?php
//includes
require 'phpmailer/class.phpmailer.php';
require 
'phpmailer/class.smtp.php';
include(
"e002.php");

$dtinicio $_POST['from'];
$dtfim $_POST['to'];
echo 
"$dtinicio $dtfim";

$novapasta = date("d-m-Y_H-i-s");
mkdir('boletos/'.$novapasta);

$contadorLinha 0;
$DDMM GetDDMM();
$RemessaDiaSeq GetRemDiaSeq("237",$DDMM);
$file "CB"$RemessaDiaSeq .".REM";
$contadorLinha += 1;
$header "01REMESSA01COBRANCA" .str_repeat(' '7) .GetHeader("237");
$contadorLinha += 1;
$fp fopen($file"a");

$db mysql_connect('localhost','trans853_admin','99691543dtanci'); 
if (!$db

return ""

 
mysql_select_db("trans853_loginD"$db);
$db mysql_query("SET NAMES utf8");
$result mysql_query("SELECT u.id, u.email, r.RecebivelID FROM `usuarios` u INNER JOIN `Sacado` s ON (u.id = s.UsuarioID) INNER JOIN `Recebivel` r ON (s.SacadoID = r.SacadoID) WHERE r.DataVencimento between '".$dtinicio ."' AND '".$dtfim ."' AND r.BoletoFlag = 0");
while(
$row mysql_fetch_array($result))
{
$email $row['email'];
$id $row['id'];
$usuarioID $id;
$nossoNumero $row['RecebivelID'];
$dataVencimento "";
$valor "";
$cpf "";
$nome "";
$endereco "";
$numero "";
$complemento "";
$enderecoCompleto "";
$cep "";
$cidade "";
$carteira "";
$agencia "";
$agenciaDig ="";
$conta "";
$contaDig "";
$CNPJ "";
$RazaoSocial "";

GetRecebivelPeriodo($usuarioID,$nossoNumero,$dataVencimento,$valor,$cpf,$nome,$endereco,$numero,$complemento,$cep,$enderecoCompleto,$cidade);

//print "Email : " .$email . PHP_EOL;
//print "Nome : " .$nome . PHP_EOL;

$dataVencimento substr($dataVencimento,8,2) .'/' .substr($dataVencimento,5,2) .'/' .substr($dataVencimento,0,4);
$dataVencimento1 substr($dataVencimento,0,2)  .substr($dataVencimento,3,2) .substr($dataVencimento,8,2);
$cpf1 str_repeat('0',14-strlen(substr($cpf,0,3) .substr($cpf,4,3) .substr($cpf,8,3) .substr($cpf,12,2))) .substr($cpf,0,3) .substr($cpf,4,3) .substr($cpf,8,3) .substr($cpf,12,2);
if (strlen($nome ) <= 40)
{
$nome1 substr($nome,0,40) .str_repeat(' ',40-strlen($nome));
}
else
{
$nome1 substr($nome,0,40);
}
GetCC("237",$carteira,$agencia,$agenciaDig,$conta,$contaDig);
$nossoNumeroDig Modulo11Base7($carteira .str_repeat('0'11-strlen($nossoNumero)) .$nossoNumero);
$nossoNumeroBoleto $carteira ."/" .str_repeat('0'11-strlen($nossoNumero)) .$nossoNumero ."-" .$nossoNumeroDig;
$detail GetDetail($carteira,$agencia,$conta,$contaDig,$nossoNumero$nossoNumeroDig,$dataVencimento1,$valor,$cpf1,$nome1,$enderecoCompleto,$cep) .str_pad($contadorLinha6"0"STR_PAD_LEFT);
$escreve fwrite($fp$detail ."\r\n");
$contadorLinha += 1;
print 
"Nosso Numero Boleto: " .$nossoNumeroBoleto ."      " .$contadorLinha PHP_EOL;

//Boleto

GetCedente($CNPJ,$RazaoSocial);

// DADOS DO BOLETO PARA O SEU CLIENTE
$dias_de_prazo_para_pagamento 5;
$taxa_boleto 0;
$data_venc date("d/m/Y"time() + ($dias_de_prazo_para_pagamento 86400));  // Prazo de X dias OU informe data: "13/04/2006";
$valor_cobrado "2950,00"// Valor - REGRA: Sem pontos na milhar e tanto faz com "." ou "," ou com 1 ou 2 ou sem casa decimal
$valor_cobrado str_replace(","".",$valor_cobrado);
$valor_boleto=number_format($valor_cobrado+$taxa_boleto2',''');

if ($contadorLinha == 3$dadosboleto["nosso_numero"] = $nossoNumero;
else $dadosboleto["nosso_numero"] = $nossoNumeroBoleto;  // Nosso numero sem o DV - REGRA: Máximo de 11 caracteres!
$dadosboleto["numero_documento"] = $dadosboleto["nosso_numero"]; // Num do pedido ou do documento = Nosso numero
$dadosboleto["data_vencimento"] = $dataVencimento;
$dadosboleto["data_documento"] = date("d/m/Y"); // Data de emissão do Boleto
$dadosboleto["data_processamento"] = date("d/m/Y"); // Data de processamento do boleto (opcional)
$dadosboleto["valor_boleto"] = $valor.',00' // Valor do Boleto - REGRA: Com vírgula e sempre com duas casas depois da virgula

// DADOS DO SEU CLIENTE
$dadosboleto["sacado"] = $nome;
$dadosboleto["endereco1"] = $endereco;
$dadosboleto["endereco2"] = $numero;
$dadosboleto["endereco3"] = $complemento;
$dadosboleto["endereco4"] = $cidade;
$dadosboleto["endereco5"] = $cep;

// INFORMACOES PARA O CLIENTE
$dadosboleto["demonstrativo1"] = "Pagamento da mensalidade";
$dadosboleto["demonstrativo2"] = "Mensalidade referente ao cartão SindeCard<br>Taxa bancária - isenta";
$dadosboleto["demonstrativo3"] = "";
$dadosboleto["instrucoes1"] = "- Sr. Caixa, cobrar multa de 2% após o vencimento";
$dadosboleto["instrucoes2"] = "- Receber até 10 dias após o vencimento";
$dadosboleto["instrucoes3"] = "- Em caso de dúvidas entre em contato conosco: financeiro@sindecard.com.br";
$dadosboleto["instrucoes4"] = "- Mora diária R$ 0,58";

// DADOS OPCIONAIS DE ACORDO COM O BANCO OU CLIENTE
$dadosboleto["quantidade"] = "";
$dadosboleto["valor_unitario"] = "";
$dadosboleto["aceite"] = "N";
$dadosboleto["especie"] = "R$";
$dadosboleto["especie_doc"] = "DS";


// ---------------------- DADOS FIXOS DE CONFIGURAÇÃO DO SEU BOLETO --------------- //


// DADOS DA SUA CONTA - Bradesco
$dadosboleto["agencia"] = $agencia// Num da agencia, sem digito
$dadosboleto["agencia_dv"] = $agenciaDig// Digito do Num da agencia
$dadosboleto["conta"] = $conta // Num da conta, sem digito
$dadosboleto["conta_dv"] = $contaDig // Digito do Num da conta

// DADOS PERSONALIZADOS - Bradesco
$dadosboleto["conta_cedente"] = $conta// ContaCedente do Cliente, sem digito (Somente Números)
$dadosboleto["conta_cedente_dv"] = $contaDig// Digito da ContaCedente do Cliente
$dadosboleto["carteira"] = $carteira;  // Código da Carteira: pode ser 06 ou 03

// SEUS DADOS
$dadosboleto["identificacao"] = "BoletoPhp - Código Aberto de Sistema de Boletos";
$dadosboleto["cpf_cnpj"] = $CNPJ;
$dadosboleto["endereco"] = "Coloque o endereço da sua empresa aqui";
$dadosboleto["cidade_uf"] = "Cidade / Estado";
$dadosboleto["cedente"] = $RazaoSocial;


ob_start();

// NÃO ALTERAR!
include_once("include/funcoes_bradesco.php");
include(
"include/layout_bradesco.php");

$content ob_get_clean();

$nomeboleto 'boletos/'.$novapasta.'/bb'.$nossoNumero.'.pdf';


// convert
require_once(dirname(__FILE__).'/html2pdf/html2pdf.class.php');
try
{
$html2pdf = new HTML2PDF('P','A4','fr', array(0000));
/* Abre a tela de impressão */
//$html2pdf->pdf->IncludeJS("print(true);");

$html2pdf->pdf->SetDisplayMode('real');

/* Parametro vuehtml = true desabilita o pdf para desenvolvimento do layout */
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));

/* Abrir no navegador */
$html2pdf->Output($nomeboleto'F');

/* Salva o PDF no servidor para enviar por email */
//$html2pdf->Output('caminho/boleto.pdf', 'F');

/* Força o download no browser */
//$html2pdf->Output('boleto.pdf', 'D');
}
catch(
HTML2PDF_exception $e) {
echo $e;
exit;
}



//Email
$mail = new PHPMailer();
$mail->setLanguage('pt');

$from 'financeiro@sindecard.com.br';
$fromName 'SINDECARD';

$host 'mail.sindecard.com.br';
$username 'financeiro@sindecard.com.br';
$password 'sindecard';
$port 25;
$secure 'false';

$mail->isSMTP();
$mail->Helo  'www.sindecard.com.br';
$mail->Host  $host;
$mail->SMTPAuth  true;
$mail->Username  $username;
$mail->Password  $password;
$mail->Port $port;
$mail->SMTPSecure $secure;


$mail->From $from;
$mail->FromName $fromName;
$mail->addReplyTo($from$fromName);

$mail->addAddress($email$nome);
 
$mail->isHTML(true);
$mail->CharSet  = 'utf-8';
$mail->WordWrap  = 70;

$mail->Subject 'SindeCard - Boleto';
$mail->Body 'Ola, <b>'.$nome.'</b> segue em anexo o boleto no vencimento de:'.$dataVencimento;
$mail->AltBody 'Ola, '.$nome.' segue em anexo o boleto no vencimento de:'.$dataVencimento;
$mail->AddAttachment($nomeboleto);

$send $mail->send();

UpdBoletoFlag($nossoNumero);
}
$trailler "9" .str_repeat(' '393) .str_pad($contadorLinha6"0"STR_PAD_LEFT);
$escreve fwrite($fp$trailler ."\r\n");
fclose($fp);
mysql_close($db);

ele esta gerando os 5 boletos que no caso sao meus 5 registros de teste no banco de dados porem o nosso_numero repete na linha digitavel

Alguém me da essa ajuda ai, obrigado desde ja!