<?php require_once('Connections/paivaconex.php'); 
require_once('funcoes.php'); 

?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

if(isset($_POST['receber'])){
	foreach ($_POST['receber'] as $a) {
    	$rec[] = $a;
	}
}else{
$rec[]=0;
};

if(isset($_POST['pagar'])){
	foreach ($_POST['pagar'] as $a) {
    	$pag[] = $a;
	}
}else{
$pag[]=0;
};


mysql_select_db($database_paivaconex, $paivaconex);
$query_contador_phoenix = "SELECT * FROM contador_phoenix WHERE contador_id = 1";
$contador_phoenix = mysql_query($query_contador_phoenix, $paivaconex) or die(mysql_error());
$row_contador_phoenix = mysql_fetch_assoc($contador_phoenix);
$totalRows_contador_phoenix = mysql_num_rows($contador_phoenix);


mysql_select_db($database_paivaconex, $paivaconex);
$query_recebimento_val = "SELECT * FROM mfin_recebimentos WHERE Tipo <> 2 AND Id IN ( ".implode(', ',$rec)." )";
$recebimento_val = mysql_query($query_recebimento_val, $paivaconex) or die(mysql_error());
$row_recebimento_val = mysql_fetch_assoc($recebimento_val);
$totalRows_recebimento_val = mysql_num_rows($recebimento_val);

mysql_select_db($database_paivaconex, $paivaconex);
$query_reembolso_val = "SELECT * FROM mfin_recebimentos WHERE Tipo = 2 AND Id IN ( ".implode(', ',$rec)." )";
$reembolso_val = mysql_query($query_reembolso_val, $paivaconex) or die(mysql_error());
$row_reembolso_val = mysql_fetch_assoc($reembolso_val);
$totalRows_reembolso_val = mysql_num_rows($reembolso_val);

mysql_select_db($database_paivaconex, $paivaconex);
$query_pagamento_val = "SELECT * FROM mfin_pagamentos WHERE Id IN ( ".implode(', ',$pag)." );";
$pagamento_val = mysql_query($query_pagamento_val, $paivaconex) or die(mysql_error());
$row_pagamento_val = mysql_fetch_assoc($pagamento_val);
$totalRows_pagamento_val = mysql_num_rows($pagamento_val);









?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><!-- InstanceBegin template="/Templates/template.dwt.php" codeOutsideHTMLIsLocked="false" -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<!-- InstanceBeginEditable name="doctitle" -->
<title>Paiva</title>
<!-- InstanceEndEditable -->
<!-- InstanceBeginEditable name="head" -->
<!-- InstanceEndEditable -->
</head>

<body>

<strong><!-- InstanceBeginEditable name="Conteudo" -->
    
    <?php $fp = fopen("DABUL.M".substr($_POST['MM_insert'],-2),'w');
	$texto = '';
	$contador = 1;
	



//Lançamento de Registro do Contas a Receber
if ($rec<>0){
if($totalRows_recebimento_val<>0){

mysql_select_db($database_paivaconex, $paivaconex);
$query_receber = "Select mfin_bancos.NumContaReduzida as bco, (Juros + Multa - Desconto - ir - pis - cofins - csll + Valor) AS vl, mfin_recebimentos.Id as rec_id,  DATE_FORMAT(Emissao, '%d/%m') AS dta_emissao,  DATE_FORMAT(Vencimento, '%d/%m') AS dta_vencimento, DATE_FORMAT(Recebimento, '%d/%m') AS dta_recebimento, mfin_contas_result.NumContaReduzida as ContaResultado, mfin_contas.NumContaReduzida as Conta, 1 as hp, CONCAT(' < ', NumeroNota, ' > ', NomeFantasia) as detalhe From mfin_recebimentos INNER JOIN mfin_clientes ON mfin_recebimentos.Cliente_Id = mfin_clientes.Id INNER JOIN mfin_bancos ON Banco_Id = mfin_bancos.Id  INNER JOIN mfin_contas ON Conta = mfin_contas.Id  INNER JOIN mfin_contas as mfin_contas_result ON ContaResultado = mfin_contas_result.Id  WHERE mfin_recebimentos.Tipo <> 2 AND mfin_recebimentos.Id IN ( ".implode(', ',$rec)." )";
$receber = mysql_query($query_receber, $paivaconex) or die(mysql_error());
$row_receber = mysql_fetch_assoc($receber);
$totalRows_receber = mysql_num_rows($receber);




	do {		
			$texto .= str_pad($contador, 7, "0", STR_PAD_LEFT); // Numero do Lançamento
			$texto .= $row_receber['dta_emissao']; // Data do Movimento
			$texto .= str_pad($row_receber['Conta'], 7, " ", STR_PAD_RIGHT); // Conta Dédito
			$texto .= str_pad($row_receber['ContaResultado'], 7, " ", STR_PAD_RIGHT); // Conta Crédito
			$texto .= str_pad(number_format($row_receber['vl'],2,'.',''), 17, "0", STR_PAD_LEFT); // Valor
			$texto .= str_pad(95, 5, "0", STR_PAD_LEFT); // Historico Padrao
			$texto .= str_pad($row_receber['detalhe'], 200, " ", STR_PAD_RIGHT); // Detalhe
			$texto .= chr(13).chr(10); // Quebra de Liinha
			
			
			fwrite($fp,$texto); //Escrever no Arquivo
			$texto = '';
			$contador++;
			
			$atualizar = "UPDATE mfin_recebimentos SET phoenix_emi=CURDATE() WHERE Id= ".$row_receber['rec_id'];
			mysql_query($atualizar, $paivaconex) or die(mysql_error());
				
		} while ($row_receber = mysql_fetch_assoc($receber));
}



		//Reembolso
if($totalRows_reembolso_val<>0){		
		mysql_select_db($database_paivaconex, $paivaconex);
$query_receber = "Select mfin_bancos.mfin_bancos.NumContaReduzida AS bco, (Valor-Desconto+Multa+Juros) AS vl, mfin_recebimentos.Id As rec_id,  DATE_FORMAT(Emissao, '%d/%m') AS dta_emissao,  DATE_FORMAT(Vencimento, '%d/%m') AS dta_vencimento, DATE_FORMAT(Recebimento, '%d/%m') AS dta_recebimento, mfin_contas_result.NumContaReduzida as ContaResultado, mfin_contas.NumContaReduzida as Conta, 1 as hp, CONCAT(' < ', NumeroNota, ' > ', NomeFantasia) as detalhe From mfin_recebimentos INNER JOIN mfin_clientes ON mfin_recebimentos.Cliente_Id = mfin_clientes.Id  INNER JOIN mfin_bancos ON Banco_Id = mfin_bancos.Id  INNER JOIN mfin_contas ON Conta = mfin_contas.Id  INNER JOIN mfin_contas as mfin_contas_result ON ContaResultado = mfin_contas_result.Id  WHERE mfin_recebimentos.Tipo = 2 AND  mfin_recebimentos.Id IN ( ".implode(', ',$rec)." )";
$receber = mysql_query($query_receber, $paivaconex) or die(mysql_error());
$row_receber = mysql_fetch_assoc($receber);
$totalRows_receber = mysql_num_rows($receber);




	do {		
			$texto .= str_pad($contador, 7, "0", STR_PAD_LEFT); // Numero do Lançamento
			$texto .= $row_receber['dta_emissao']; // Data do Movimento
			$texto .= str_pad($row_receber['Conta'], 7, " ", STR_PAD_RIGHT); // Conta Dédito
			$texto .= str_pad(280, 7, " ", STR_PAD_RIGHT); // Conta Crédito
			$texto .= str_pad(number_format($row_receber['vl'],2,'.',''), 17, "0", STR_PAD_LEFT); // Valor
			$texto .= str_pad(215, 5, "0", STR_PAD_LEFT); // Historico Padrao
			$texto .= str_pad($row_receber['detalhe'], 200, " ", STR_PAD_RIGHT); // Detalhe
			$texto .= chr(13).chr(10); // Quebra de Liinha
			
			
			fwrite($fp,$texto); //Escrever no Arquivo
			$texto = '';
			$contador++;
			
			$atualizar = "UPDATE mfin_recebimentos SET phoenix_emi=CURDATE() WHERE Id=  ".$row_receber['rec_id'];
			mysql_query($atualizar, $paivaconex) or die(mysql_error());
				
		} while ($row_receber = mysql_fetch_assoc($receber));
//Fechamento de if de Reembolso
}
		
}



if ($pag<>0){
	
if($totalRows_pagamento_val<>0){
	
//Lançamento de Registro do Contas a Pagar
mysql_select_db($database_paivaconex, $paivaconex);
$query_pagar = "Select mfin_bancos.NumContaReduzida as bco, (Valor- Ir- Pis- Cofins- Csll- Inss- Iss+ Juros- Desconto+ Multa) AS vl, IR, Iss, Inss, Pis, Cofins, Csll, mfin_pagamentos.Id AS pag_id, Valor, NumFatura,    DATE_FORMAT(Emissao, '%d/%m') AS dta_emissao,  DATE_FORMAT(Vencimento, '%d/%m') AS dta_vencimento, DATE_FORMAT(DtPagamento, '%d/%m') AS dta_pagamento, mfin_contas_result.NumContaReduzida as ContaResultado, mfin_contas.NumContaReduzida as Conta, 1 as hp, CONCAT(' < ', NumFatura, ' > ',NomeFantasia, ' ' , mfin_pagamentos.Detalhe) as detalhe From mfin_pagamentos INNER JOIN mfin_fornecedores ON mfin_pagamentos.Fornecedor = mfin_fornecedores.Id  INNER JOIN mfin_bancos ON Banco = mfin_bancos.Id  INNER JOIN mfin_contas ON Conta = mfin_contas.Id  INNER JOIN mfin_contas as mfin_contas_result ON ContaResultado = mfin_contas_result.Id   WHERE mfin_pagamentos.Id IN ( ".implode(', ',$pag)." );";
$pagar = mysql_query($query_pagar, $paivaconex) or die(mysql_error());
$row_pagar = mysql_fetch_assoc($pagar);
$totalRows_pagar = mysql_num_rows($pagar);




	do {		
			$rete = $row_pagar['IR']+$row_pagar['Iss']+$row_pagar['Inss'];
			
			if($rete >0 ){
			//Se houver Retenções 
						
			$texto .= str_pad($contador, 7, "0", STR_PAD_LEFT); // Numero do Lançamento
			$texto .= $row_pagar['dta_emissao']; // Data do Movimento
			$texto .= str_pad($row_pagar['ContaResultado'], 7, " ", STR_PAD_RIGHT); // Conta Débito
			$texto .= str_pad('M', 7, " ", STR_PAD_RIGHT); // Conta Crédito
			$texto .= str_pad(number_format($row_pagar['Valor'],2,'.',''), 17, "0", STR_PAD_LEFT); // Valor
			$texto .= str_pad(322, 5, "0", STR_PAD_LEFT); // Historico Padrao
			$texto .= str_pad($row_pagar['detalhe'], 200, " ", STR_PAD_RIGHT); // Detalhe
			$texto .= chr(13).chr(10); // Quebra de Liinha
			
			
			if($row_pagar['IR']>0){
			
				$texto .= str_pad($contador, 7, "0", STR_PAD_LEFT); // Numero do Lançamento
				$texto .= $row_pagar['dta_emissao']; // Data do Movimento
				$texto .= str_pad($row_pagar['ContaResultado'], 7, " ", STR_PAD_RIGHT); // Conta Débito
				$texto .= str_pad(503, 7, " ", STR_PAD_RIGHT); // Conta Crédito
				$texto .= str_pad(number_format($row_pagar['IR'],2,'.',''), 17, "0", STR_PAD_LEFT); // Valor
				$texto .= str_pad(361, 5, "0", STR_PAD_LEFT); // Historico Padrao
				$texto .= str_pad(' Retencao ref. Irrf s / nf.no'.$row_pagar['NumFatura'] , 200, " ", STR_PAD_RIGHT); // Detalhe
				$texto .= chr(13).chr(10); // Quebra de Liinha
			}
			
			if($row_pagar['Inss']>0){
			
				$texto .= str_pad($contador, 7, "0", STR_PAD_LEFT); // Numero do Lançamento
				$texto .= $row_pagar['dta_emissao']; // Data do Movimento
				$texto .= str_pad($row_pagar['ContaResultado'], 7, " ", STR_PAD_RIGHT); // Conta Débito
				$texto .= str_pad(502, 7, " ", STR_PAD_RIGHT); // Conta Crédito
				$texto .= str_pad(number_format($row_pagar['Inss'],2,'.',''), 17, "0", STR_PAD_LEFT); // Valor
				$texto .= str_pad(362, 5, "0", STR_PAD_LEFT); // Historico Padrao
				$texto .= str_pad(' Retencao ref. INSS nf.no'.$row_pagar['NumFatura'] , 200, " ", STR_PAD_RIGHT); // Detalhe
				$texto .= chr(13).chr(10); // Quebra de Liinha
			}
			
			if($row_pagar['Iss']>0){
			
				$texto .= str_pad($contador, 7, "0", STR_PAD_LEFT); // Numero do Lançamento
				$texto .= $row_pagar['dta_emissao']; // Data do Movimento
				$texto .= str_pad($row_pagar['ContaResultado'], 7, " ", STR_PAD_RIGHT); // Conta Débito
				$texto .= str_pad(505, 7, " ", STR_PAD_RIGHT); // Conta Crédito
				$texto .= str_pad(number_format($row_pagar['Iss'],2,'.',''), 17, "0", STR_PAD_LEFT); // Valor
				$texto .= str_pad(363, 5, "0", STR_PAD_LEFT); // Historico Padrao
				$texto .= str_pad(' Retencao ref. ISS nf.no'.$row_pagar['NumFatura'] , 200, " ", STR_PAD_RIGHT); // Detalhe
				$texto .= chr(13).chr(10); // Quebra de Liinha
			}
			
			$texto .= str_pad($contador, 7, "0", STR_PAD_LEFT); // Numero do Lançamento
			$texto .= $row_pagar['dta_emissao']; // Data do Movimento
			$texto .= str_pad($row_pagar['ContaResultado'], 7, " ", STR_PAD_RIGHT); // Conta Débito
			$texto .= str_pad($row_pagar['Conta'], 7, " ", STR_PAD_RIGHT); // Conta Crédito
			$texto .= str_pad(number_format($row_pagar['Valor']-$rete,2,'.',''), 17, "0", STR_PAD_LEFT); // Valor
			$texto .= str_pad(322, 5, "0", STR_PAD_LEFT); // Historico Padrao
			$texto .= str_pad($row_pagar['detalhe'] , 200, " ", STR_PAD_RIGHT); // Detalhe
			$texto .= chr(13).chr(10); // Quebra de Liinha
			
			
			
			}else{
			// Caso Não tenha Retenções
			
			$texto .= str_pad($contador, 7, "0", STR_PAD_LEFT); // Numero do Lançamento
			$texto .= $row_pagar['dta_emissao']; // Data do Movimento
			$texto .= str_pad($row_pagar['ContaResultado'], 7, " ", STR_PAD_RIGHT); // Conta Débito
			$texto .= str_pad($row_pagar['Conta'], 7, " ", STR_PAD_RIGHT); // Conta Crédito
			$texto .= str_pad(number_format($row_pagar['Valor'],2,'.',''), 17, "0", STR_PAD_LEFT); // Valor
			$texto .= str_pad(322, 5, "0", STR_PAD_LEFT); // Historico Padrao
			$texto .= str_pad($row_pagar['detalhe'] , 200, " ", STR_PAD_RIGHT); // Detalhe
			$texto .= chr(13).chr(10); // Quebra de Liinha
			
			
			
			}
			
			
			fwrite($fp,$texto); //Escrever no Arquivo
			$texto = '';
			$contador++;
			
			$atualizar = "UPDATE mfin_pagamentos SET phoenix_emi=CURDATE() WHERE Id= ".$row_pagar['pag_id'];
			mysql_query($atualizar, $paivaconex) or die(mysql_error());
		
		
		} while ($row_pagar = mysql_fetch_assoc($pagar));
	
}

}

	fclose($fp);
	
	
	
			
	
	
	
	?>
     Arquivo Gerado Com Sucesso
     <p>Numero do Lote<?php echo "  ".$row_contador_phoenix['contador']; ?></p>
     <?php 
	 $atualizar = "UPDATE contador_phoenix SET contador=contador + 1 WHERE contador_id=1";
			mysql_query($atualizar, $paivaconex) or die(mysql_error());
	 
	 ?>
     
    <p> <a href="contimatic_emi.php?ano=<?php echo substr($_POST['MM_insert'],-2); ?>">Clique Aqui Baixar Arquivo</a></p>
    
    
    
    
    
	
	
	
	
	<!-- InstanceEndEditable --></strong>
</body>
<!-- InstanceEnd --></html>
<?php
//mysql_free_result($receber);

//mysql_free_result($pagar);

//mysql_free_result($contador_phoenix);

mysql_free_result($recebimento_val);

mysql_free_result($reembolso_val);

mysql_free_result($pagamento_val);

?>
