<?php
require_once "connect.php";
require_once "inc/messages.php";

/*
 * Status da solicitação:
 * 
 * 1 = AGUARDANDO APROVAÇÃO
 * 2 = APROVADA
 * 3 = CANCELADA
 *    
 */

if(isset($_POST['btn-add'])) { 
    
	
  $id_solicitante 				= $_POST['id_solicitante'];
  $dt_emissao 					= $_POST['dt_emissao'];
  $ds_observacao 				= $_POST['ds_observacao'];
  $id_status_solicitacao 		= 1; //aguardando aprovação
  
  $sql = "insert into erpc_solicitacao_compra (id_solicitante
												,dt_emissao
												,id_status_solicitacao
												,ds_observacao
												,st_ativo)
												values
												('$id_solicitante'
												,str_to_date('$dt_emissao', '%d/%m/%Y')
												,'$id_status_solicitacao'
												,'$ds_observacao'
												,1)";
	  //Preparando statement
	 $stmt = mysqli_prepare($conexao, $sql) or die(mysqli_error($conexao) . '<br />' . $sql);
	//Executando o insert e obtendo o id 
	  if(mysqli_stmt_execute($stmt)) {
		$id_solicitacao_compra = mysqli_stmt_insert_id($stmt);
	  }else {
	   die(mysqli_error($conexao));
	  }
  			//$count = 0;
		//$id_solicitacao_compra = 1;
	$vl_total = 0.0;
	foreach($_POST['itens'] as $itens){
	    
	    $array_vl_unit = explode("$",$itens['vl_unitario']);
	    
	    $vl_unit = str_replace(",",".",str_replace(".","",$array_vl_unit[1]));
		
	    $vl_total += $itens['nr_quantidade'] * $vl_unit;
	    
		$sql2 = "insert into erpc_solicitacao_compra_itens (id_solicitacao_compra
															,id_produto
															,nr_quantidade
	                                                        ,vl_unit_estimado
															,id_unidade_medida
															,dt_necessidade
															,st_ativo) values
															( '$id_solicitacao_compra'
															,'" . $itens['id_produto'] . "'
															,'" . $itens['nr_quantidade'] . "'
	                                                        ,'" . $vl_unit . "'
															,'" . $itens['id_unidade_medida'] . "'
															,str_to_date('" . $itens['dt_necessidade'] . "', '%d/%m/%Y')
															,1)";	
		$stmt2 = mysqli_prepare($conexao, $sql2) or die(mysqli_error($conexao));
		mysqli_stmt_execute($stmt2) or die(mysqli_error($conexao));
  }
    //inserindo valor total dos itens
    $sql_total = "update erpc_solicitacao_compra set vl_total = $vl_total where id = $id_solicitacao_compra";
	$stmt_total = mysqli_prepare($conexao, $sql_total) or die(mysqli_error($conexao));
	mysqli_stmt_execute($stmt_total) or die(mysqli_error($conexao));
  
  
    //verificando o grupo de alcada do solicitante
  //caso ele não tenha permissão, o status será alterado para "aguardando aprovação"
	/*	$sql_grupo = "select * 
                 from erpc_grupo_alcada 
                 inner join erpc_usuarios
                 on erpc_usuarios.id = erpc_grupo_alcada.id 
                 where erpc_usuarios.id = $id_solicitante";
		
    $resultado_grupo = mysqli_query($conexao, $sql_grupo) or die (mysqli_error());
    if(mysqli_num_rows($resultado_grupo) > 0 ){
      while ($registro 	= mysqli_fetch_array($resultado_grupo)){    
        $vl_maximo          	= $registro['vl_maximo'];
      }
    }
    //alterando o status se necessário
    if($vl_total > $vl_maximo){
        $sql_total = "update erpc_solicitacao_compra 
                      set id_solocitação = (select id from erpc_dom_status_solicitacao where ds_status like '%aguardando aprovacao%'),
                      st_aprovada = 0
                      where id = $id_solicitacao_compra";
		
        $stmt_total = mysqli_prepare($conexao, $sql_total) or die(mysqli_error($conexao));
        mysqli_stmt_execute($stmt_total) or die(mysqli_error($conexao));
      
      
    }*/
  //Voltando para lista
  
	
header("Location:erpc_solicitacao_compra_list.php");
}//fim adicionar


if(isset($_POST['btn-edit'])) {
	
	$id 						= $_POST['id'];	
	$id_solicitante 			= $_POST['id_solicitante'];
	$dt_emissao 				= $_POST['dt_emissao'];
	$id_status_solicitacao 		= $_POST['id_status_solicitacao'];
	$ds_observacao 				= $_POST['ds_observacao'];

  
	$sql = "update erpc_solicitacao_compra set id_solicitante = $id_solicitante
												,dt_emissao = str_to_date('$dt_emissao', '%d/%m/%Y')
												,id_status_solicitacao = '$id_status_solicitacao'
												,ds_observacao = '$ds_observacao'
			where id = $id";

	 $stmt = mysqli_prepare($conexao, $sql) or die(mysqli_error($conexao) . '<br />' . $sql);
	 mysqli_stmt_execute($stmt) or die (mysqli_error($conexao));
	 
	 //aditar/adicionar itens
	 //deletando todos os itens
	 $sql_delete = "delete from erpc_solicitacao_compra_itens where id_solicitacao_compra = $id";
  	$stmt_delete = mysqli_prepare($conexao, $sql_delete) or die(mysqli_error($conexao) . '<br />' . $sql);
	 mysqli_stmt_execute($stmt_delete) or die (mysqli_error($conexao));	
	
	//adicionando todos os itens
	 //$count = 0;
	 $vl_total = 0.0;
	 foreach($_POST['itens'] as $itens){
	     
	     $array_vl_unit = explode("$",$itens['vl_unitario']);
	     
	     $vl_unit = str_replace(",",".",str_replace(".","",$array_vl_unit[1]));
	     
	     $vl_total += $itens['nr_quantidade'] * $vl_unit;
	     

	     
	     $sql2 = "insert into erpc_solicitacao_compra_itens (id_solicitacao_compra
														,id_produto
														,nr_quantidade
                                                        ,vl_unit_estimado
														,id_unidade_medida
														,dt_necessidade
														,st_ativo) values
														( '$id'
														,'" . $itens['id_produto'] . "'
														,'" . $itens['nr_quantidade'] . "'
                                                        ,'" . $vl_unit . "'
														,'" . $itens['id_unidade_medida'] . "'
														,str_to_date('" . $itens['dt_necessidade'] . "', '%d/%m/%Y')
														,1)";
	     $stmt2 = mysqli_prepare($conexao, $sql2) or die(mysqli_error($conexao));
	     mysqli_stmt_execute($stmt2) or die(mysqli_error($conexao));

	     
	}
	
	
	//inserindo valor total dos itens
	$sql_total = "update erpc_solicitacao_compra set vl_total = $vl_total where id = $id";
	$stmt_total = mysqli_prepare($conexao, $sql_total) or die(mysqli_error($conexao));
	mysqli_stmt_execute($stmt_total) or die(mysqli_error($conexao));
	
	
	 //Voltando para lista
 header("Location:erpc_solicitacao_compra_list.php");

}//fim editar

if(isset($_POST['btn-remove'])) {
	
	$id = $_POST['id'];	
 
	$sql = "update erpc_solicitacao_compra set st_ativo = 0 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_solicitacao_compra_list.php");

}//fim remover

if(isset($_POST['btn-aprovar'])) {
    
    $id_usuario = $_POST['id_usuario'];
    $id_array   = array();
	$id_status_solicitacao 		= 2; //aprovada
	$id_solicitacoes  = "0";
	$vl_alcada  = 0;
	$vl_estimado=0;

	if(isset($_POST['id_solicitacao'])){
		$id_array = $_POST['id_solicitacao'];
	}

	foreach ($id_array as $key => $value) {
		$id_solicitacoes .= "," . $value;
	}


	/* AJUSTAR POIS ESTA OCORRENDO ERRO 1 PARA 1 */
	$id_solicitacao_compra = $_POST['id_solicitacao'][0];

    $sql_alcada = "select erpc_grupo_alcada.vl_maximo 
                    from erpc_grupo_alcada inner join erpc_usuarios
                    on erpc_usuarios.id_grupo_alcada = erpc_grupo_alcada.id
                    where erpc_usuarios.id =" . $id_usuario;

    $sql_estimado="select IFNULL(sum((si.vl_unit_estimado * si.nr_quantidade)), 0) as vl_estimado
					from   erpc_solicitacao_compra_itens si
					where  si.id_solicitacao_compra in( $id_solicitacoes)";
    
    $resultado_alcada  = mysqli_query($conexao,$sql_alcada  ) or die(mysqli_error($conexao));
    $resultado_estimado= mysqli_query($conexao,$sql_estimado) or die(mysqli_error($conexao));

    if(mysqli_num_rows($resultado_alcada) > 0){
		while($registro = mysqli_fetch_array($resultado_alcada)){
			$vl_alcada = $registro['vl_maximo'];
		}
	}

	if(mysqli_num_rows($resultado_estimado)>0){
		while($registro = mysqli_fetch_array($resultado_estimado)){
			$vl_estimado = $registro['vl_estimado'];
		}
	}



    if($vl_alcada >= $vl_estimado){
			
        $sql = "update erpc_solicitacao_compra
                    set id_status_solicitacao = " . $id_status_solicitacao .
                        ",id_responsavel_aprov= " . $id_usuario . 
               " where id in ( $id_solicitacoes )";

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

		// criar cotação
		$sql_cotacao = "insert into erpc_cotacao_compra (id_solicitacao
														,dt_cotacao 
														,st_ativo)
														values("
														. $id_solicitacao_compra .
														",now()
														,1)";
		mysqli_query($conexao,$sql_cotacao) or die(mysqli_error($conexao));

		// vincula os itens da cotação x solicitação
		$id_new_cotacao = mysqli_insert_id($conexao);

		AddMessage("Nova Cotaçao gerada com sucesso: $id_new_cotacao");

		foreach ($id_array as $key => $id_solicitacao_compra) {
			/* faz a inclusão de todos os itens da cotação */

			$sql_itens = "insert into erpc_cotacao_compra_itens(id_solicitacao_compra_item, id_cotacao_compra)
			select si.id, $id_new_cotacao from erpc_solicitacao_compra_itens si
			join erpc_solicitacao_compra sc on si.id_solicitacao_compra = sc.id
			where  sc.id = $id_solicitacao_compra";

			mysqli_query($conexao,$sql_itens) or die(mysqli_error($conexao));
		}
    }else{
    	$msg = "Não foi possível aprovar Solicitações | Item selecionado inválido ou verifique o ";
        $msg.= "limite de Alçada R$ " . number_format($vl_alcada, 2, ",", "");
        AddError($msg);
    }    
    header("Location:erpc_solicitacao_compra_list.php");
    
}

if(isset($_POST['btn-cancelar'])) {
    
    $id = $_POST['id_solicitacao'];
    $id_usuario = $_POST['id_usuario'];
    $id_status_solicitacao 		= 3; //cancelada
    
    
    $sql_alcada = "select erpc_grupo_alcada.vl_maximo
                    from erpc_grupo_alcada inner join erpc_usuarios
                    on erpc_usuarios.id_grupo_alcada = erpc_grupo_alcada.id
                    where erpc_usuarios.id =" . $id_usuario;
    
    $resultado_alcada = mysqli_query($conexao,$sql_alcada) or die(mysqli_error($conexao));
    
    if(mysqli_num_rows($resultado_alcada) > 0){
        while($registro = mysqli_fetch_array($resultado_alcada)){
            $vl_maximo = $registro['vl_maximo'];
            
            
            foreach($id as $ids){
                $id_array .= " , " . $ids;
            }
            
            
            $sql = "update erpc_solicitacao_compra 
                        set id_status_solicitacao = " . $id_status_solicitacao . 
                        ",id_responsavel_aprov = " . $id_usuario . 
                        " where id in (0" . $id_array . " )
                        and vl_total <=" . $vl_maximo;
            
            $stmt = mysqli_prepare($conexao, $sql) or die(mysqli_error($conexao) . '<br />' . $sql);
            mysqli_stmt_execute($stmt) or die (mysqli_error($conexao));
            
            
            
            
        }
    }
    
    
    
    
    
    header("Location:erpc_solicitacao_compra_list.php");
    
}//fim remover



?>