<?php
ob_start();
session_start();
require "connect.php";


//Recebendo os valores do POST e descriptografando
$id_planofin 		=	$_POST['id_plano_financeiro'];
$id_status_baixa 	=	$_POST['id_status_baixa'];



$ds_codigo    = $_POST['ds_codigo'];
$ds_plano     = $_POST['ds_plano'];
$id_classe    = base64_decode($_POST['id_classe']);
$id_condicao  = base64_decode($_POST['id_condicao']);
$st_bloqueado = isset($_POST['st_bloqueado']) ? 1 :  0;


//Editar
    if(isset($_POST['editar'])) {
    
        $sql = "update erpc_financeiro_plano_contas set id_classe    = '$id_classe'
                                                  ,id_condicao  = '$id_condicao'
                                                  ,ds_codigo    = '$ds_codigo' 
                                                  ,ds_plano     = '$ds_plano'
                                                  ,st_bloqueado = '$st_bloqueado'";
        $sql .= " where id = $id";
        
        $stmt = mysqli_prepare($conexao, $sql) or die(mysqli_error($conexao) . '<br />' . $sql);
        mysqli_stmt_execute($stmt) or die(mysqli_error($conexao));

        header("Location:erpc_financeiro_plano_contas_list.php");
    }

//Excluir
    if(isset($_POST['excluir'])) {

        $sql = "update erpc_financeiro_plano_contas set st_ativo = 0";
        $sql .= " where id = $id";
        
        $stmt = mysqli_prepare($conexao, $sql) or die(mysqli_error($conexao) . '<br />' . $sql);
        mysqli_stmt_execute($stmt) or die(mysqli_error($conexao));
        
        header("Location:erpc_financeiro_plano_contas_list.php");
    }


//Adicionar
  if(isset($_POST['adicionar'])) {
    $st_ativo = 1; //informando que o registro está ativo

      //Elaborando query para insert 
        $sql = "insert into erpc_financeiro_plano_contas (id_classe
                                                    ,id_condicao 
                                                    ,ds_codigo 
                                                    ,ds_plano 
                                                    ,st_bloqueado 
                                                    ,st_ativo) 
                                             values ('$id_classe'
                                                    ,'$id_condicao'
                                                    ,'$ds_codigo'
                                                    ,'$ds_plano'
                                                    ,'$st_bloqueado'
                                                    ,$st_ativo)";

      //Preparando statement
        $stmt = mysqli_prepare($conexao, $sql) or die(mysqli_error($conexao) . '<br />' . $sql);

      //Executando o insert  
        mysqli_stmt_execute($stmt) or die(mysqli_error($conexao));

      //Voltando para lista
        header("Location:erpc_financeiro_plano_contas_list.php");

  }

//Adicionar em Lote
    if(isset($_POST['adicionar_lote'])) {
/*
        $limpar_tabela = "SET FOREIGN_KEY_CHECKS = 0;"; //esvaziando a tabela 
        $stmt = mysqli_prepare($conexao, $limpar_tabela) or die(mysqli_error($conexao) . '<br />' . $limpar_tabela);
        mysqli_stmt_execute($stmt) or die(mysqli_error($conexao));


        $limpar_tabela = "TRUNCATE TABLE erpc_financeiro_plano_contas"; //esvaziando a tabela 
        $stmt = mysqli_prepare($conexao, $limpar_tabela) or die(mysqli_error($conexao) . '<br />' . $limpar_tabela);
        mysqli_stmt_execute($stmt) or die(mysqli_error($conexao));

        $limpar_tabela = "SET FOREIGN_KEY_CHECKS = 1;"; //esvaziando a tabela 
        $stmt = mysqli_prepare($conexao, $limpar_tabela) or die(mysqli_error($conexao) . '<br />' . $limpar_tabela);
        mysqli_stmt_execute($stmt) or die(mysqli_error($conexao));
*/


        //echo "chamei adicionar_lote";

        $mensagem_erro = "<h1>Erro</h1><hr>Não foi possível importar o plano de contas. É provável que haja lançamentos utilizando o seu plano de contas atual, sendo assim <br> o novo plano de contas não poderá ser importado.";

                $limpar_tabela = "DELETE FROM erpc_financeiro_PLANO_CONTAS"; //esvaziando a tabela 
                $stmt = mysqli_prepare($conexao, $limpar_tabela) or die(mysqli_error($conexao) . '<br />' . $limpar_tabela);
                //mysqli_stmt_execute($stmt) or die(mysqli_error($conexao));
                mysqli_stmt_execute($stmt);// or trigger_error(mysqli_error($conexao));

               // echo "Imprimindo código de erro" . mysqli_stmt_errno($stmt);
                /*Verificando se houve erro na execução do statement, fiz isso para tratar a mensagem de erro da fk que ocorre quando o usuário tenta zerar a 
                tabela de plano de contas, já tendo utilizado um plano cadastrado. Nestes casos o importador não deve funcionar para não substituir o plano. */


                //VERIFICANDO SE HOUVE ERRO AO EFETUAR O DELETE - REGISTROS FILHOS FK.
                if(mysqli_stmt_errno($stmt)!=0){
                  echo $mensagem_erro;  
                }else{ 

                    $zerar_tabela = "ALTER TABLE erpc_financeiro_PLANO_CONTAS AUTO_INCREMENT = 1"; //setando o contador para 1
                    $stmt = mysqli_prepare($conexao, $zerar_tabela) or die(mysqli_error($conexao) . '<br />' . $zerar_tabela);
                    mysqli_stmt_execute($stmt) or die(mysqli_error($conexao));


                        foreach ($_POST['toAdd'] as $add_id){
                          $sql = "insert into erpc_financeiro_plano_contas select * from erpc_financeiro_plano_contas_ac";
                          $sql .= " where erpc_financeiro_plano_contas_ac.id = $add_id";
                          

                          //echo $sql . "<br>";


                          $stmt = mysqli_prepare($conexao, $sql) or die(mysqli_error($conexao) . '<br />' . $sql);
                          mysqli_stmt_execute($stmt) or die(mysqli_error($conexao));

                          header("Location:erpc_financeiro_plano_contas_list.php");
                        }
                  
                      
                  
                    }

            }  

?>