<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

require_once "includes/conexao.php";
require_once "config/init.php";

if(isset($_POST['payLoan'])){
    
    $id = $_POST['id'];
    $valor = $_POST['valor'];
    $valorTotalComMulta = $_POST['valorMulta'];
    $jurosMora = $_POST['juros_de_mora'];
    $conta_id = $_POST['conta'];

 if(isset($_FILES['recibo']) && $_FILES['recibo']['error'] == 0){
    $extensao = pathinfo($_FILES['recibo']['name'], PATHINFO_EXTENSION);
    $recibo = time() . '_' . uniqid() . '.' . $extensao; 
    $recibo_tmp = $_FILES['recibo']['tmp_name'];    
    if (!is_dir("comprovativos")) {
        mkdir("comprovativos", 0777, true);
    }
    move_uploaded_file($recibo_tmp, "comprovativos/" . $recibo);
} else {
    die("Erro ao carregar o comprovativo. Código do erro: " . ($_FILES['recibo']['error'] ?? 'Não enviado'));
}
    $hora = date('H:i');
    $user = $_SESSION['nome'];
      
    
    $credito = $database->query("SELECT cr.*,cli.*,co.* FROM creditos cr INNER JOIN clientes cli ON cr.id_cliente=cli.id_cliente 
    INNER JOIN contas co ON cr.conta = co.id WHERE cr.id ='$id'");
    $associate = $database->fetch_assoc($credito);
    
    $cliente_id = $associate['id_cliente'];
    $totalLoan = (float)$associate['total'];
    $clienteNome = $associate['nome_cliente'];
    $taxa = $associate['taxas'];
    $saldoActual = (float)$associate['saldo'];
    $saldoNovo = $saldoActual + $valor;

    
     $saldoCredito = $totalLoan - $valor;
    $dataPagamento = date('Y-m-d');
     $data_credito = $associate['data'];
     
            $Dias = 30;
            $date = new DateTime($data_credito);
                 $date->modify('+' .$Dias. 'day');
                 $mudanca_frente_1 = $date->format('Y-m-d');
                 $dataLimite = $mudanca_frente_1;

    
    $verifyPagamentos = $database->query("SELECT * FROM pagamentos WHERE id_pagamento = '$id' ORDER BY ID DESC LIMIT 1");
    $fetch = $database->fetch_assoc($verifyPagamentos);
    $saldo = (float)$fetch['saldo'];
    $countPay = mysqli_num_rows($verifyPagamentos);
    
    if($countPay == 0){
        $saldoCredito = $totalLoan - $valor;
    }else{
        $saldoCredito = $saldo - $valor;
    }
    
    
    if($dataPagamento < $dataLimite && $valor < $totalLoan){    
        $sql = $database->query("UPDATE creditos SET valor='$saldoCredito',v_prest='$saldoCredito',juros='0',total='$saldoCredito' WHERE id='$id'");
         $transaction = $database->query("INSERT INTO transacoes(descricao,saida,entrada,saldo,caixa,data,hora,user)
       VALUES('Pagamento de prestacao de $clienteNome','0','$valor','$saldoNovo','$conta_id','$dataPagamento','$hora','$user')");
         $pagamentos = $database->query("INSERT INTO pagamentos(id_cliente,valor_pago,id_pagamento,prestacao,juros_de_mora,data,saldo,status)
        VALUES('$cliente_id','$valor','$id','$valor','$jurosMora','$dataPagamento','$saldoCredito','Pago')");
        $account = $database->query("UPDATE contas SET saldo='$saldoNovo' WHERE id='$conta_id'");
        $database->query("INSERT INTO comprovativos(id_cliente,valor_pago,recibo,usuario)VALUES('$cliente_id','$valor','$recibo','$user')");
        
        
        $url = "processamentos.php?id=$id&&cliente=$clienteNome";
        $message = "Credito parcelado dentro do prazo";
        echo "<script>window.open('alertas/alertas_good.php?url=$url&&message=$message','_self')</script>";  
        exit;           
       }
    
    if($dataPagamento < $dataLimite && $valor == $totalLoan){
     $sql = $database->query("UPDATE creditos SET status='Pago' WHERE id='$id'");    
     
      $transaction = $database->query("INSERT INTO transacoes(descricao,saida,entrada,saldo,caixa,data,hora,user)
       VALUES('Pagamento de prestacao de $clienteNome','0','$valor','$saldoNovo','$conta_id','$dataPagamento','$hora','$user')");
         $pagamentos = $database->query("INSERT INTO pagamentos(id_cliente,valor_pago,id_pagamento,prestacao,juros_de_mora,data,saldo,status)
        VALUES('$cliente_id','$valor','$id','$valor','$jurosMora','$dataPagamento','$saldoCredito','Pago')");
        $account = $database->query("UPDATE contas SET saldo='$saldoNovo' WHERE id='$conta_id'");
        $database->query("INSERT INTO comprovativos(id_cliente,valor_pago,recibo,usuario)VALUES('$cliente_id','$valor','$recibo','$user')");
        
     
     $url = "processamentos.php?id=$id&&cliente=$clienteNome";
        $message = "Credito pago na totalidade com sucesso";
        echo "<script>window.open('alertas/alertas_good.php?url=$url&&message=$message','_self')</script>";
        exit;
      }
    
    if($dataPagamento > $dataLimite && $valor < $totalLoan){        
        $novoJuro = $saldoCredito * $taxa;
        $totalNovo = $saldoCredito + $novoJuro;
         $sql = $database->query("UPDATE creditos SET valor='$saldoCredito',v_prest='$totalNovo',juros='$novoJuro',total='$totalNovo',data='$dataPagamento',hora='$hora' WHERE id='$id'");
        
          $transaction = $database->query("INSERT INTO transacoes(descricao,saida,entrada,saldo,caixa,data,hora,user)
       VALUES('Pagamento de prestacao de $clienteNome','0','$valor','$saldoNovo','$conta_id','$dataPagamento','$hora','$user')");
         $pagamentos = $database->query("INSERT INTO pagamentos(id_cliente,valor_pago,id_pagamento,prestacao,juros_de_mora,data,saldo,status)
        VALUES('$cliente_id','$valor','$id','$valor','$jurosMora','$dataPagamento','$saldoCredito','Pago')");
        $account = $database->query("UPDATE contas SET saldo='$saldoNovo' WHERE id='$conta_id'");
        $database->query("INSERT INTO comprovativos(id_cliente,valor_pago,recibo,usuario)VALUES('$cliente_id','$valor','$recibo','$user')");
        
        
         $url = "processamentos.php?id=$id&&cliente=$clienteNome";
        $message = "Credito Recapitalizado com sucesso";
        echo "<script>window.open('alertas/alertas_good.php?url=$url&&message=$message','_self')</script>";
         exit;
        }
    
    if($dataPagamento > $dataLimite && $valor == $totalLoan){        
      $sql = $database->query("UPDATE creditos SET status='Pago' WHERE id='$id'");    
       
       $transaction = $database->query("INSERT INTO transacoes(descricao,saida,entrada,saldo,caixa,data,hora,user)
       VALUES('Pagamento de prestacao de $clienteNome','0','$valor','$saldoNovo','$conta_id','$dataPagamento','$hora','$user')");
         $pagamentos = $database->query("INSERT INTO pagamentos(id_cliente,valor_pago,id_pagamento,prestacao,juros_de_mora,data,saldo,status)
        VALUES('$cliente_id','$valor','$id','$valor','$jurosMora','$dataPagamento','$saldoCredito','Pago')");
        $account = $database->query("UPDATE contas SET saldo='$saldoNovo' WHERE id='$conta_id'");
        $database->query("INSERT INTO comprovativos(id_cliente,valor_pago,recibo,usuario)VALUES('$cliente_id','$valor','$recibo','$user')");
        
      
      $url = "processamentos.php?id=$id&&cliente=$clienteNome";
        $message = "Credito pago na totalidade com sucesso";
        echo "<script>window.open('alertas/alertas_good.php?url=$url&&message=$message','_self')</script>";
    exit;
    }
   
        
       if($dataPagamento == $dataLimite && $valor < $totalLoan){        
        $sql = $database->query("UPDATE creditos SET valor='$saldoCredito',v_prest='$saldoCredito',juros='0',total='$saldoCredito' WHERE id='$id'");
        
         $transaction = $database->query("INSERT INTO transacoes(descricao,saida,entrada,saldo,caixa,data,hora,user)
       VALUES('Pagamento de prestacao de $clienteNome','0','$valor','$saldoNovo','$conta_id','$dataPagamento','$hora','$user')");
         $pagamentos = $database->query("INSERT INTO pagamentos(id_cliente,valor_pago,id_pagamento,prestacao,juros_de_mora,data,saldo,status)
        VALUES('$cliente_id','$valor','$id','$valor','$jurosMora','$dataPagamento','$saldoCredito','Pago')");
        $account = $database->query("UPDATE contas SET saldo='$saldoNovo' WHERE id='$conta_id'");
        $database->query("INSERT INTO comprovativos(id_cliente,valor_pago,recibo,usuario)VALUES('$cliente_id','$valor','$recibo','$user')");
        

        $url = "processamentos.php?id=$id&&cliente=$clienteNome";
        $message = "Credito parcelado dentro do prazo";
        echo "<script>window.open('alertas/alertas_good.php?url=$url&&message=$message','_self')</script>";
    exit;
       }


      
    
    
}

?>