<?php session_start();
include("lib/conexao_sinsweb.php");
include("funcoes.inc");
  $_SESSION[DataVencimentoCalculo]=substr($_SESSION[vencimento],6,4).substr($_SESSION[vencimento],3,2).substr($_SESSION[vencimento],0,2);
  
$query=mysql_query("SELECT * FROM sindicato", $conexao_sinsweb);
if(mysql_num_rows($query)>0)
	{
		$i=0;
		while(mysql_fetch_row($query))
			{
				$_SESSION[cnpj_emitente]=mysql_result($query,$i,"cnpj");
				$_SESSION[nome_emitente]=mysql_result($query,$i,"razaosocial");
				$_SESSION[endereco_emitente]=mysql_result($query,$i,"endereco");
				$_SESSION[endereco_numero_emitente]=mysql_result($query,$i,"endereco_numero");
				$_SESSION[complemento_emitente]=mysql_result($query,$i,"endereco_complemento");
				$_SESSION[bairro_emitente]=mysql_result($query,$i,"bairro");
				$_SESSION[cep_emitente]=mysql_result($query,$i,"cep");
				$_SESSION[cidade_emitente]=mysql_result($query,$i,"cidade");
				$_SESSION[uf_emitente]=mysql_result($query,$i,"uf");
				$_SESSION[codigosindical_emitente]=mysql_result($query,$i,"sindical");
				$_SESSION[codigosicap_emitente]=mysql_result($query,$i,"sicap");
				$_SESSION[agencia_emitente]=mysql_result($query,$i,"agencia");
				$i++;
			}
	}


if($_SESSION[numero_guia]=="")
    {
    $query=mysql_query("SELECT max(numero) as Guia from grcsu where empresa = '".$_SESSION[cnpj]."' group by empresa", $conexao_sinsweb)
    or die ("Erro na query numero");

    if(mysql_num_rows($query)>0)
    	{
       	    $i=0;
    		while(mysql_fetch_row($query))
    		{
                  $_SESSION[numero_guia]=mysql_result($query,$i,"Guia");
                  $i++;
       		}
        }
    }

$query=mysql_query("SELECT * FROM grcsu G, empresa E WHERE G.NUMERO = ".$_SESSION[numero_guia]." AND E.cnpj = G.empresa ", $conexao_sinsweb)
or die ("Erro na query mostra guia");
if(mysql_num_rows($query)>0)
	{
		$i=0;
		while(mysql_fetch_row($query))
			{
				$_SESSION[guia]=mysql_result($query,$i,"numero");
				$_SESSION[cnpj]=mysql_result($query,$i,"cnpj");
				$_SESSION[nome]=mysql_result($query,$i,"nome");
				$_SESSION[endereco]=mysql_result($query,$i,"endereco");
				$_SESSION[endereco_numero]=mysql_result($query,$i,"E.numero");
				$_SESSION[complemento]=mysql_result($query,$i,"complemento");
				$_SESSION[bairro]=mysql_result($query,$i,"bairro");
				$_SESSION[cep]=mysql_result($query,$i,"cep");
				$_SESSION[cidade]=mysql_result($query,$i,"cidade");
				$_SESSION[uf]=mysql_result($query,$i,"uf");
				$_SESSION[telefone]=mysql_result($query,$i,"telefone");
				$_SESSION[cnae]=mysql_result($query,$i,"cnae");

				$_SESSION[valor]=mysql_result($query,$i,"valor");
                $_SESSION[valor]=number_format($_SESSION[valor], 2, ',', '.');
				$valor=$_SESSION[valor];
				
				
                $_SESSION[exercicio]=mysql_result($query,$i,"exercicio");
                $_SESSION[mesexercicio]=mysql_result($query,$i,"competencia");
                
                if ($_SESSION[mesexercicio] != 0)
                  {
                  $_SESSION[exercicio]=$_SESSION[mesexercicio].'/'.$_SESSION[exercicio];
                  }
				$_SESSION[contribuintes]=mysql_result($query,$i,"contribuintes");
				$_SESSION[remuneracao]=mysql_result($query,$i,"remuneracao");
                $_SESSION[remuneracao]=number_format($_SESSION[remuneracao], 2, ',', '.');
				
				$_SESSION[empregados]=mysql_result($query,$i,"empregados");
				$Vencimento_Value=mysql_result($query,$i,"vencimento");

				$vencimento=$Vencimento_Value;
                $vencimento=date('d/m/Y', strtotime($vencimento));
				$_SESSION[vencimento]=$vencimento;

				$Emissao_Value=mysql_result($query,$i,"emissao");

				$emissao=$Emissao_Value;
                $emissao=date('d/m/Y', strtotime($emissao));
				$_SESSION[emissao]=$emissao;

				$i++;
			}
	}  
// Apenas para aparecer na Guia
$_SESSION[DataPagamentoCalculo]=$_SESSION[DataEmissaoCalculo];

if ($_SESSION[DataEmissaoCalculo] > $_SESSION[DataVencimentoCalculo])
    {
      CalculaAtraso();
	}
else
    {
	  $_SESSION[juros]='';
	  $_SESSION[multa]='';
	  $_SESSION[multajuros]='';
	  $_SESSION[valortotal]='';
	  $_SESSION[DescricaoCalculo]='';
	  $_SESSION[vencimentocorreto]='';
	 } 
// Apenas para aparecer na Guia
$_SESSION[nossonumero_Guia]=substr(SoNumeros($_SESSION[cnpj]),0,12);
$_SESSION[nossonumero_Guia]=colocaZeroEsquerda($_SESSION[nossonumero_Guia], 12);
$_SESSION[NumeroDocumento_Guia]=colocaZeroEsquerda($_SESSION[nossonumero_Guia], 13);

 function SoNumeros($X)
 {
 	$tira = array(" ", ",", ".", "-","/");
 	for($i=0;$i<strlen($X);$i++){	$X = str_replace($tira[$i],"", $X);	}
 	return $X;
 }

function NumeroCodigoBarra(){
 	$banco = 104;
 	$moeda = 9;
    $vencimento=$_SESSION[vencimento];
	$AnoVencimento=substr($vencimento,6,4);
	$MesVencimento=substr($vencimento,3,2);
	$DiaVencimento=substr($vencimento,0,2);
 	$vencimento= $AnoVencimento.$MesVencimento.$DiaVencimento;
 	$database  = 19971007;
 	$FatorVencimento = floor(abs(strtotime($database) - strtotime($vencimento))/86400);
	$valor=$_SESSION[valor];
 	$valor = SoNumeros($valor);
 	$valor = colocaZeroEsquerda($valor, 10);
	$Documento=$_SESSION[nossonumero_Guia];
 	$convenio = 97;
	
 	$codigosindical=substr($_SESSION[codigosindical_emitente],8,5);
	if ($codigosindical=='00000')
	   {
       $codigosindical='00093'; //Código Sindical no caso da FEDERAÇÂO
  	   $tipoentidade = 2;// 1-Sindicato, 2-Federação, 3-Confederação
	   }
	else
	   {
  	   $tipoentidade = 1;// 1-Sindicato, 2-Federação, 3-Confederação
	   }   
 	$cnae1 = 4;
 	$sitcs = 77;
 	$cnae2 = 71;

 	
 	$DV_CBarra = Modulo11($banco.$moeda.$FatorVencimento.$valor.$convenio.$codigosindical.$cnae1.$tipoentidade.$sitcs.$Documento.$cnae2);
    if ($DV_CBarra == 0)
      {
        $DV_CBarra= 1;
      }
 	$CodigoBarra = $banco.$moeda.$DV_CBarra.$FatorVencimento.$valor.$convenio.$codigosindical.$cnae1.$tipoentidade.$sitcs.$Documento.$cnae2;

 	$campo1 = substr($CodigoBarra,0,4).substr($CodigoBarra,19,5);
 	$DV_campo1 = Modulo10(SoNumeros($campo1));
 	$campo1=substr($CodigoBarra,0,4).substr($CodigoBarra,19,5).$DV_campo1;
 	$campo1=substr($campo1,0,5).'.'.substr($campo1,5,5);

 	$campo2 = substr($CodigoBarra,24,10);
 	$DV_campo2 = Modulo10(SoNumeros($campo2));
 	$campo2=$campo2.$DV_campo2;
 	$campo2=substr($campo2,0,5).'.'.substr($campo2,5,6);

 	$campo3 = substr($CodigoBarra,34,10);
 	$DV_campo3 = Modulo10(SoNumeros($campo3));
 	$campo3=$campo3.$DV_campo3;
 	$campo3=substr($campo3,0,5).'.'.substr($campo3,5,6);

 	$campo4 = substr($CodigoBarra,4,1);

 	$campo5 = substr($CodigoBarra,5,14);

 	define("numero_digitavel","$campo1 $campo2 $campo3 $campo4 $campo5 ");
 	define("codigoDeBarra", "$CodigoBarra");
    $_SESSION[LinhaDigitavel]=$campo1.'     '.$campo2.'     '.$campo3.'     '.$campo4.'     '.$campo5;
 }

 
function Modulo10($X)
    {
      $Xtotal10 = 0;
      $fator = 2;
      for ($i = strlen($X); $i > 0; $i--)
          {
              $numeros[$i] = substr($X,$i-1,1);
              $parcial10[$i] = $numeros[$i] * $fator;
              $numtotal10 .= $parcial10[$i];
              if ($fator == 2)
                {$fator = 1;}
              else
                {$fator = 2;}
          }
      $soma = 0;
      for ($i = strlen($numtotal10); $i > 0; $i--)
          {
              $numeros[$i] = substr($numtotal10,$i-1,1);
              $soma += $numeros[$i];
           }
      $resto = $soma % 10;
      $resultado = 10 - $resto;
      if ($resto == 0)
      {$resultado = 0;}
     return $resultado;
   }
   
 function Modulo11($X){
 	$peso = 2;
 	for($i=strlen($X)-1;$i>=0;$i--){
 		$num[$i] = substr($X, $i,1)*$peso;
 		$soma += $num[$i];
 		$peso++;
 		if($peso == 10){	$peso=2;	}
 	}
 	$resto = $soma % 11;
 	$resultado = 11 - $resto;
 	if($resultado>9 || $resultado<=1){	$resultado=1;	}
 	return $resultado;
 }
 
function colocaZeroEsquerda($X, $digitos){
 	$zeros = $digitos - strlen($X);
 	for($i=0;$i<$zeros;$i++){	$x .= 0;	}
 	$X = $x.$X;
 	return $X;
 }
 
 function esquerda($entra,$comp){
 	return substr($entra,0,$comp);
 }
 
 function direita($entra,$comp){
 	return substr($entra,strlen($entra)-$comp,$comp);
 }
 
 function CodigoDeBarra($valor){
 
 $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;
     }
   }
 
 
 //Desenho da barra
 
 
 //Guarda inicial
 ?>
 <img src=./arquivos/p.gif width=<?=$fino?> height=<?=$altura?> border=0><img 
 src=./arquivos/b.gif width=<?=$fino?> height=<?=$altura?> border=0><img 
 src=./arquivos/p.gif width=<?=$fino?> height=<?=$altura?> border=0><img 
 src=./arquivos/b.gif width=<?=$fino?> height=<?=$altura?> border=0><img 
 <?
 $texto = $valor ;
 if((strlen($texto) % 2) <> 0){
 	$texto = "0" . $texto;
 }
 
 // Draw dos dados
 while (strlen($texto) > 0) {
   $i = round(esquerda($texto,2));
   $texto = 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=./arquivos/p.gif width=<?=$f1?> height=<?=$altura?> border=0><img 
 <?
     if (substr($f,$i,1) == "0") {
       $f2 = $fino ;
     }else{
       $f2 = $largo ;
     }
 ?>
     src=./arquivos/b.gif width=<?=$f2?> height=<?=$altura?> border=0><img 
 <?
   }
 }
 
 // Draw guarda final
 ?>
 src=./arquivos/p.gif width=<?=$largo?> height=<?=$altura?> border=0><img 
 src=./arquivos/b.gif width=<?=$fino?> height=<?=$altura?> border=0><img 
 src=./arquivos/p.gif width=<?=1?> height=<?=$altura?> border=0> 
   <?
 } //Fim da função

function CalculaAtraso()
{
  $PrazoParaPagamento=10; //Em Dias
  $Data=substr($_SESSION[DataPagamentoCalculo],6,2).'/'.substr($_SESSION[DataPagamentoCalculo],4,2).'/'.substr($_SESSION[DataPagamentoCalculo],0,4);
  $Data=somardata($Data, $PrazoParaPagamento,0,0);
  $Vencimento=substr($_SESSION[DataVencimentoCalculo],6,2).'/'.substr($_SESSION[DataVencimentoCalculo],4,2).'/'.substr($_SESSION[DataVencimentoCalculo],0,4);

  $Valor = str_replace(".","",$_SESSION[valor]);
  $Valor = (float)str_replace(",",".",$Valor);
  $ValorPrincipal=$Valor;
  $ValorPrincipal=number_format($ValorPrincipal, 2, ',', '.');

  $Intervalo='d';
  $dias=Diferenca($Vencimento,$Data,'d'); 
  $Meses=round($dias/30);
  $dias=$dias-($Meses*30);

  if ($Meses == 0)
     {
     if ($dias > 0)
        {$Multa=10;}
     else	  
        {$Multa=0;}
     }
  else   
     {$Multa=(2*$Meses+8);}
  $Juros=$Meses;

  $Multa=$Multa/100;
  $ValorMulta=$Valor*$Multa;

  $Juros=$Juros/100;
  $JurosDia=($dias*(1/30))/100;
  $JurosTotal=$Juros+$JurosDia;
  $ValorJuros=($Valor*$JurosTotal);


  $ValorMultaJuros=$ValorMulta+$ValorJuros;
  $ValorTotal=$Valor+$ValorMulta+$ValorJuros;

  $Multa=number_format($Multa, 2, ',', '.');
  number_format($_POST[txtValor], 2, ',', '.');
  $ValorMulta=number_format($ValorMulta, 2, ',', '.');
  $ValorJuros=number_format($ValorJuros, 2, ',', '.');
  $ValorMultaJuros=number_format($ValorMultaJuros, 2, ',', '.');
  $ValorTotal=number_format($ValorTotal, 2, ',', '.');

  $_SESSION[multa]=$ValorTotal;
  $_SESSION[juros]=$ValorJuros;
  $_SESSION[multajuros]=$ValorMultaJuros;
  $_SESSION[valortotal]=$ValorTotal;

  $_SESSION[DescricaoCalculo]= '- MULTA R$ '.$ValorMulta.'   JUROS R$ '.$ValorJuros;
  $_SESSION[vencimentocorreto]='- NÃO RECEBER APÓS '.$Data;
  
}
?>
