<?php
include "../ver_sessao.php";
include "../conecta.php";


// error_reporting(E_ALL);

// echo "<hr>|$_POST[sistemacactus]| => |$_GET[sistemacactus]|<hr>";


function finaliza_compra(){


	$a_compra = carregar('compra',$_POST[id]);
	
	// $sql_test=selecionar('pres','pres_tx_status',"!inativo"," AND pres_nb_estoque = '$_POST[id]'");
	// while($a=carrega_array($sql_test)){
		
	// 	if( intval($a[pres_tx_qtde])==0 || intval($a[pres_tx_valor]) == 0 ) {
	// 		set_status("ERRO: Preencha todos os valores e quantidades");
	// 		layout_produto();
	// 		exit;
	// 	}
	// }



	// for($i=0;$i<count($_POST[id_produto]);$i++){

	// 	$produto=$_POST[id_produto][$i];
	// 	$a_prod=carregar('prod_tx_valorVenda|produto',$_POST[id_produto][$i]);		

	// 	$campos=array(pres_nb_estoque,pres_nb_produto,pres_tx_status,pres_tx_valor,pres_tx_qtde);
	// 	$valores=array($_POST[id],$produto,'ativo',$a_prod[0],valor($_POST[estoque][$i]));
	// 	inserir('pres',$campos,$valores,1);
		
	// }

	
	$sql_test=selecionar('pres,produto','pres_tx_status',"!inativo"," AND pres_nb_estoque = '$_POST[id]'");
	while($a=carrega_array($sql_test)){
		$qtde_cong=0;
		$sql_cong = selecionar('congela','cong_tx_status','ativo'," AND cong_nb_produto = '$a[pres_nb_produto]' AND cong_nb_estoque = '$_POST[id]' LIMIT 1");
		if(num_linhas($sql_cong)>0){
			$a_cong = carrega_array($sql_cong);

			$sql_orde=selecionar('SUM(orpr_tx_qtde)|orpr,ordem','orde_tx_status,orpr_tx_status','encerrado,ativo'," AND orpr_nb_produto='$a[pres_nb_produto]' AND orpr_tx_data >= '$a_cong[cong_tx_data]' group by orpr_nb_produto");
			$a_orde=carrega_array($sql_orde);
			$qtde_cong = $a_orde[0];
		}


		$a_prod=carregar('produto',$a[pres_nb_produto]);
		// $prod_qtde=$a[pres_tx_qtde]+$a_prod[prod_tx_qtde];

		$prod_qtde=$a[pres_tx_qtde]-$qtde_cong;
		atualizar('produto',array('prod_tx_qtde'),array("$prod_qtde"),$a[pres_nb_produto]);
		registro_cactus("INVENTARIO: $_POST[id] - ESTOQUE ATUAL: $a_prod[prod_tx_qtde] - CONTAGEM: $a[pres_tx_qtde] - CONGELADO: $qtde_cong - ESTOQUE:".($prod_qtde),$a_prod[prod_nb_id]);
		
		$campos=array(pres_tx_status);
		$valores=array('encerrado');
		atualizar('pres',$campos,$valores,$a[0]);
		

	}

	atualizar('estoque','esto_tx_status','encerrado',$_POST[id]);

	set_status('Estoque atualizado com sucesso!');

	index();
	exit;
	

}


function exclui_produto() {
	
	$a_pres=carregar('pres',$_POST[id]);
	
	$_POST[id]=$a_pres[pres_nb_estoque];
	
	remover('pres',$a_pres[pres_nb_id]);
	
	layout_produto();
	exit;
}



function exclui_compra(){
	
	remover('compra',$_POST[id]);
	index();
	exit;
}



function modifica_compra(){
	
	global $a_mod;
	$a_mod = carregar('estoque',$_POST[id]);
	layout_produto();
	exit;
}





function layout_imprimir(){
	global $a_mod;

	
	$a_comp=carregar('estoque',"$_POST[id]");
	
	if($a_comp[esto_nb_categoria] > 0){
		$a_cate = carregar('categoria',$a_comp[esto_nb_categoria]);
		$extra .= " AND prod_nb_categoria = '$a_comp[esto_nb_categoria]'";
	}
	if($a_comp[esto_nb_imposto]){
		$a_ncm = carregar('imposto',$a_comp[esto_nb_imposto]);
		$extra .= " AND prod_tx_ncm = '$a_ncm[impo_tx_codigo]'";
	}

	
	cabecaRelatorio('Inventario por Categoria',3);
	
	cactux::abre_form();
	
	$t1[] = cactux::texto('Código:',$a_comp[esto_nb_id],1);
	// $t1[] = cactux::texto('Fornecedor:',$a_comp[enti_tx_nome],4);
	$t1[] = cactux::texto('Data:',data($a_comp[esto_tx_data],1),2);
	// $t1[] = cactux::texto('Categoria:',$a_cate[cate_tx_nome],3);
	// $t2[] = cactux::texto('Obs:',$a_comp[esto_tx_obs],10);

	// LEMBRAR AQUI QUE PARA O COMBO_NET FUNCIONAR, TEM QUE EXISTIR OS CAMPOS DE VALOR,VALOR_CX, VLAOR_UN E FORMA
 	
	$status=cactux::msg_status();
	
	
	$voltar=cactux::botao('Voltar',2,'voltar');
	
	cactux::abre_fieldset('Informações da Compra');
	cactux::linha_fieldset($t1[0],$t1[1],$t1[2]);
	cactux::fecha_fieldset();

	// $sql = selecionar('produto,categoria','prod_tx_status','ativo'," $extra ORDER BY prod_tx_nome");
	$sql = selecionar('pres,produto.categoria','prod_tx_status,pres_tx_status,prod_nb_categoria,pres_nb_estoque',"ativo,!inativo,.cate_nb_id,$_POST[id]"," $extra GROUP BY prod_nb_id ORDER BY prod_tx_nome");
	$i=0;
	$qtde_corretos=0;
	$qtde_errados=0;
	$ganho_financeiro=0;
	$perda_financeira=0;
	$ganho_financeiro_custo=0;
	$perda_financeira_custo=0;
	while ($a=carrega_array($sql)) {

		$total +=$a[prod_tx_qtde];
		$total_estoque += $a[pres_tx_qtde];
		
		if($a_comp[esto_tx_status] == 'encerrado'){
			$totalAntigo += $a[pres_tx_qtdeAntiga];
			$antigo = mostra_valor($a[pres_tx_qtdeAntiga]);
		}else{
			$antigo = '';
		}

		if($a_comp[esto_tx_status] == 'encerrado'){
			$dif_qtde = $a[pres_tx_qtde]-valor($antigo,1);
		} else {
			$dif_qtde = valor($antigo,1)-$a[prod_tx_qtde];
		}
		$dif_reais = $a[prod_tx_valorVenda]*$dif_qtde;
		$dif_reais_custo = $a[prod_tx_valorCusto]*$dif_qtde;

		$total_dif_reais += $dif_reais;
		$total_dif_qtde  += $dif_qtde;

		// CONTABILIZA OS ITENS CORRETOS E ERRADOS
		if ( $dif_qtde==0 )
			$qtde_corretos++;
		else
			$qtde_errados++;

		// CONTABILIZA AS PERDAS E OS GANHOS FINANCEIROS
		if ( $dif_reais>0 ) {
			$ganho_financeiro += $dif_reais;
			$ganho_financeiro_custo += $dif_reais_custo;
		} else {
			$perda_financeira += $dif_reais*(-1);
			$perda_financeira_custo += $dif_reais_custo*(-1);
		}


		// $valores[] = array(++$cont,$a[prod_tx_nome],$a[prod_tx_codbarras],$a[prod_tx_ncm],$a[cate_tx_nome],mostra_valor($a[prod_tx_valorVenda]),mostra_valor($a[prod_tx_qtde]),mostra_valor($a[pres_tx_qtde],1));
		if($a_comp[esto_tx_status] == 'encerrado')
			$valores[] = array(++$cont,$a[prod_tx_nome],$a[prod_tx_codbarras],$a[prod_tx_ncm],$a[cate_tx_nome],mostra_valor($a[prod_tx_valorVenda]),$antigo,mostra_valor($a[pres_tx_qtde]),mostra_valor($dif_qtde,1),mostra_valor($dif_reais,1));
		else
			$valores[] = array(++$cont,$a[prod_tx_nome],$a[prod_tx_codbarras],$a[prod_tx_ncm],$a[cate_tx_nome],mostra_valor($a[prod_tx_valorVenda]),mostra_valor($a[prod_tx_qtde]),$antigo,mostra_valor($dif_qtde,1),mostra_valor($dif_reais,1));

		$i++;
	}
	
	// $valores[]=array('','','','','','<b>TOTAL:</b>',"<b>".mostra_valor($total)."</b>","<b>".mostra_valor($total_estoque)."</b>");
	if($a_comp[esto_tx_status] == 'encerrado')
		$valores[]=array('','','','','','<b>TOTAL:</b>',"<b>".mostra_valor($totalAntigo)."</b>","<b>".mostra_valor($total)."</b>","<b>".mostra_valor($total_dif_qtde,1),"<b>".mostra_valor($total_dif_reais,1));
	else
		$valores[]=array('','','','','','<b>TOTAL:</b>',"<b>".mostra_valor($total)."</b>","<b>".mostra_valor($totalAntigo)."</b>","<b>".mostra_valor($total_dif_qtde,1),"<b>".mostra_valor($total_dif_reais,1));



	if($a_comp[esto_tx_status] == 'encerrado'){
		$cabecalho[]=array('','PRODUTO','CÓD. BARRAS','NCM','CATEGORIA','VALOR VENDA','ESTOQUE','CONTAGEM','DIF.&nbsp;QTDE','DIF.&nbsp;REAIS');
	}else{
		$cabecalho[]=array('','PRODUTO','CÓD. BARRAS','NCM','CATEGORIA','VALOR VENDA','ESTOQUE','INVENTÁRIO','DIF.&nbsp;QTDE','DIF.&nbsp;REAIS');
	}
	
	$cabecalho[]='c,e,c,c,c,c';
	$cabecalho[]='5%,,10%,10%,15%,8%,8%,8%,8%,8%';


	echo "<br>";
	grid::gerar($cabecalho,$valores);

	cactux::fecha_form();


	// CALCULA A PORCENTAGEM DE ITENS CORRETOS E ERRADOS
	@$p_corretos = ($qtde_corretos*100)/$i;
	$p_corretos  = @number_format($p_corretos,2,'.','');//DEIXA APENAS DUAS CASAS DECIMAIS
	// CALCULA A PORCENTAGEM DE ITENS ERRADOS
	@$p_errados = 100-$p_corretos;


	echo "<br><br>";
	abre_tabela('99%');
		$v=array("Total de Itens Contados: $i");
		tabela($v,'relatorio','d');

		$v=array("% Itens Correto ".mostra_valor($p_corretos,1));
			tabela($v,'relatorio','d');

		$v=array("% Itens Errados ".mostra_valor($p_errados,1));
		tabela($v,'relatorio','d');
	fecha_tabela();

	echo "<br>";
	abre_tabela('99%');

		$v=array("Total de Ganho Financeiro - Custo ".mostra_valor($ganho_financeiro_custo,1));
			tabela($v,'relatorio','d');

		$v=array("Total de Perda Financeira - Custo ".mostra_valor($perda_financeira_custo,1));
			tabela($v,'relatorio','d');

		$v=array("Perda Financeira da Contagem - Custo ".mostra_valor($perda_financeira_custo-$ganho_financeiro_custo,1));
			tabela($v,'relatorio','d');
	fecha_tabela();

	echo "<br>";
	abre_tabela('99%');

		$v=array("Total de Ganho Financeiro - Preço Venda ".mostra_valor($ganho_financeiro,1));
			tabela($v,'relatorio','d');

		$v=array("Total de Perda Financeira - Preço Venda ".mostra_valor($perda_financeira,1));
			tabela($v,'relatorio','d');

		$v=array("Perda Financeira da Contagem - Preço Venda ".mostra_valor($perda_financeira-$ganho_financeiro,1));
			tabela($v,'relatorio','d');
	fecha_tabela();


	

	rodape();
}


function check_produto(){
	print_r($_GET);
	$a_prod=carregar('produto',$_GET[idProduto]);
	$campos=array(pres_nb_estoque,pres_nb_produto,pres_tx_status,pres_tx_valor,pres_tx_qtdeAntiga);
	$valores=array($_GET[idEstoque],$_GET[idProduto],'ativo',$a_prod[prod_tx_valorVenda],$a_prod[prod_tx_qtde]);

	$sql_test=selecionar('pres','pres_tx_status',"!inativo"," AND pres_nb_estoque = '$_GET[idEstoque]' AND pres_nb_produto = '$_GET[idProduto]' LIMIT 1");
	if(num_linhas($sql_test)==0){
		inserir('pres',$campos,$valores,1);
	}else{
		$a_test=carrega_array($sql_test);
		remover('pres',$a_test[0]);
	}
	exit;
}

function check_lista_produto(){
	print_r($_GET);
	$a_id_prod = explode(',',$_GET[idProduto]);

	for($i=0;$i<count($a_id_prod);$i++){
		$id_produto = $a_id_prod[$i];
		$a_prod=carregar('produto',$id_produto);
		$campos=array(pres_nb_estoque,pres_nb_produto,pres_tx_status,pres_tx_valor,pres_tx_qtdeAntiga);
		$valores=array($_GET[idEstoque],$id_produto,'ativo',$a_prod[prod_tx_valorVenda],$a_prod[prod_tx_qtde]);

		$sql_test=selecionar('pres','pres_tx_status',"!inativo"," AND pres_nb_estoque = '$_GET[idEstoque]' AND pres_nb_produto = '$id_produto' LIMIT 1");
		
		if(num_linhas($sql_test)==0){
			if($_GET[checa] == 1)
				inserir('pres',$campos,$valores,1);
		}else{
			if($_GET[checa] == 0){
				$a_test=carrega_array($sql_test);
				remover('pres',$a_test[0]);
			}
		}

	}
	exit;
}

function cadastra_estoque(){
	// print_r($_GET);exit;
	if($_GET[estoque] == ''){
		$_GET[estoque] = $_GET[estoque_original];
		javascript("
			window.parent.document.getElementById('".$_GET[id_campo]."').value='".mostra_valor($_GET[estoque])."';

		");
	}

	$a_prod=carregar('pres,produto',$_GET[id_produto]);


	atualizar('pres',array('pres_tx_qtde','pres_tx_qtdeAntiga'),array(valor($_GET[estoque]),$_GET[estoque_original]),$_GET[id_produto]);

	javascript("
		window.parent.document.getElementById('".$_GET[id_campo]."').style.backgroundColor='lightgreen';

	");
	exit;
}

function cadastra_check(){
	if($_GET[estoque] == ''){
		$_GET[estoque] = $_GET[estoque_original];
		javascript("
			window.parent.document.getElementById('".$_GET[id_campo]."').value='".mostra_valor($_GET[estoque])."';

		");
	}

	$a_prod=carregar('produto',$_GET[id_produto]);

	$sql_test=selecionar('pres','pres_tx_status',"!inativo"," AND pres_nb_estoque = '$_GET[id]' AND pres_nb_produto = '$_GET[id_produto]' LIMIT 1");

	$campos=array(pres_nb_estoque,pres_nb_produto,pres_tx_status,pres_tx_valor,pres_tx_qtde);
	$valores=array($_GET[id],$_GET[id_produto],'ativo',$a_prod[prod_tx_valorVenda],$a_prod[prod_tx_qtde]);
	if(num_linhas($sql_test)>0){
		$a_test=carrega_array($sql_test);		
		atualizar('pres',$campos,$valores,$a_test[0]);
	}else{
		inserir('pres',$campos,$valores,1);
	}

	// atualizar('produto','prod_tx_qtde',valor($_GET[estoque]),$_GET[id_produto]);

	javascript("
		window.parent.document.getElementById('".$_GET[id_campo]."').style.backgroundColor='lightgreen';

	");
	exit;
}




function cadastra_congela(){

	$a_prod = carregar('produto',$_POST[id_produto]);

	$campos = array(cong_nb_produto,cong_nb_estoque,cong_tx_qtde,cong_tx_data,cong_nb_user,cong_tx_status);
	$valores = array($_POST[id_produto],$_POST[id],$a_prod[prod_tx_qtde],date("Y-m-d H:i:s"),$_SESSION[user_nb_id],'ativo');

	$sql_cong = selecionar('congela','cong_tx_status','ativo'," AND cong_nb_produto = '$a_prod[prod_nb_id]' AND cong_nb_estoque = '$_POST[id]' LIMIT 1");
	if(num_linhas($sql_cong)>0){
		$a_cong = carrega_array($sql_cong);
		remover('congela',$a_cong[cong_nb_id]);
	}else{
		inserir('congela',$campos,$valores,1);
	}

	modifica_compra();
	exit;


}




function cadastra_congela_completo(){
	$a_esto = carregar('estoque',$_POST[id]);

	// if($a_esto[esto_nb_categoria] > 0)
	// 	$extra .= " AND prod_nb_categoria = '$a_esto[esto_nb_categoria]'";
	// if($a_esto[esto_nb_imposto]){
	// 	$a_ncm = carregar('imposto',$a_esto[esto_nb_imposto]);
	// 	$extra .= " AND prod_tx_ncm = '$a_ncm[impo_tx_codigo]'";
	// }


	$campos = array(cong_nb_produto,cong_nb_estoque,cong_tx_qtde,cong_tx_data,cong_nb_user,cong_tx_status);

	// $sql = selecionar('produto,categoria','prod_tx_status','ativo'," $extra ORDER BY prod_tx_nome"); 
	$sql = selecionar('pres,produto.categoria','prod_tx_status,pres_tx_status,prod_nb_categoria,pres_nb_estoque',"ativo,!inativo,.cate_nb_id,$_POST[id]"," $extra GROUP BY prod_nb_id ");
	while($a=carrega_array($sql)){

		$valores = array($a[prod_nb_id],$_POST[id],$a[prod_tx_qtde],date("Y-m-d H:i:s"),$_SESSION[user_nb_id],'ativo');
		
		$sql_cong = selecionar('congela','cong_tx_status','ativo'," AND cong_nb_produto = '$a[prod_nb_id]' AND cong_nb_estoque = '$_POST[id]' LIMIT 1");
		if(num_linhas($sql_cong)>0){
			$a_cong = carrega_array($sql_cong);
			atualizar('congela',$campos,$valores,$a_cong[cong_nb_id]);
		}else{
			inserir('congela',$campos,$valores,1);
		}

	}

	echo "
	<script>
		alert('Congelamento de estoque efetuado com sucesso!');
	</script>";

	index();
	exit;
}





function layout_produto(){
	global $a_mod;

	
	$a_comp=carregar('estoque',"$_POST[id]");

	if($a_comp[esto_nb_categoria] > 0){
		$a_cate = carregar('categoria',$a_comp[esto_nb_categoria]);
	}
	
	
	cabecalho('Inventario por Categoria',3);
	
	cactux::abre_form();
	
	$t1[] = cactux::texto('Código:',$a_comp[esto_nb_id],1);
	// $t1[] = cactux::texto('Fornecedor:',$a_comp[enti_tx_nome],4);
	$t1[] = cactux::texto('Data:',data($a_comp[esto_tx_data],1),1);
	$t1[] = cactux::texto('Obs:',$a_comp[esto_tx_obs],5);

	// LEMBRAR AQUI QUE PARA O COMBO_NET FUNCIONAR, TEM QUE EXISTIR OS CAMPOS DE VALOR,VALOR_CX, VLAOR_UN E FORMA
	$gravar=cactux::botao_submit('Finalizar',2,'index','id',"$_POST[id]");
	
	$status=cactux::msg_status();
	
	
	$imprimir=cactux::botao('Imprimir',2,'imprimir');
	$voltar=cactux::botao('Voltar',2,'voltar');
	
	cactux::abre_fieldset('Informações da Compra');
	cactux::linha_fieldset($t1[0],$t1[1],$t1[2]);
	cactux::linha_fieldset($t2[0]);
	cactux::linha_fieldset($voltar,$imprimir,$gravar,$status);
	cactux::fecha_fieldset();

	$sql = selecionar('pres,produto.categoria','prod_tx_status,pres_tx_status,prod_nb_categoria,pres_nb_estoque',"ativo,!inativo,.cate_nb_id,$_POST[id]"," $extra GROUP BY prod_nb_id ORDER BY prod_tx_nome");
	$i=0;
	while ($a=carrega_array($sql)) {
		campo_hidden('id_produto[]',$a[0]);

		$total += $a[prod_tx_qtde];

		// $estoque=cactux::campo_simples("estoque[$i]",mostra_valor($a[pres_tx_qtde]),2, " onfocus=this.select(); id='estoque[$i]' onkeyup='mascara_reais(this);' onblur='cadastra_check(this,$a[prod_nb_id],$a[prod_tx_qtde]);' "); //onkeyup='mascara_reais(this);
		$valores[] = array(++$cont,$a[prod_tx_nome],$a[prod_tx_ncm],$a[cate_tx_nome],mostra_valor($a[prod_tx_qtde]));
		$i++;
	}
	
	$valores[]=array('','','','<b>TOTAL:</b>',"<b>".mostra_valor($total)."</b>");



	$cabecalho[]=array('','PRODUTO','NCM','CATEGORIA','ESTOQUE');
	$cabecalho[]='c,e,c,c,c,c,c';
	$cabecalho[]='5%,,20%,20%,10%,10%,2%';



	grid::gerar($cabecalho,$valores);

	cactux::fecha_form();	
	
	
	cactux::acao_botao('voltar','layout_busca_produto','id',"$_POST[id]");
	cactux::acao_botao('imprimir','layout_imprimir','id',"$_POST[id]",'','','target=_blank');
	
	
	//$valor_fim=cactux::campo('Valor Total:','valor_total',mostra_valor($total_total),2, MASCARA_VALOR);
	echo "<iframe id=frame_cadastra style='display:none'></iframe>";
	


	if( $_POST[sistemacactus] == '' )
		$sistema_cactus = $_GET[sistemacactus];
	else
		$sistema_cactus = $_POST[sistemacactus];


	javascript("
		
		function cadastra_check(input,id_produto,estoque_original){
			var estoque = input.value;
			var id_campo = input.id;

			window.document.getElementById('frame_cadastra').src='entrada_produto_categoria.php?acao=cadastra_check&estoque='+estoque+'&id_campo='+id_campo+'&id_produto='+id_produto+'&estoque_original='+estoque_original+'&id=$_POST[id]&sistemacactus=$sistema_cactus';
		}

		function valor_final(valor) {
			
			window.document.finaliza.valor_total_hidden2.value = gera_valor(valor);			
		}

	    window.addEventListener('keydown', function(e) {
	        if (e.keyIdentifier == 'U+000A' || e.keyIdentifier == 'Enter' || e.keyCode == 13) {
	            if (e.target.nodeName == 'INPUT' && e.target.type == 'text') {
	                e.preventDefault();
	                return false;
	            }
	        }
	    }, true);
	
	");
	
	rodape();
}



function layout_produto_finalizar(){
	global $a_mod;

	
	$a_comp=carregar('estoque',"$_POST[id]");

	if($a_comp[esto_nb_categoria] > 0){
		$a_cate = carregar('categoria',$a_comp[esto_nb_categoria]);
	}
	
	
	cabecalho('Inventario por Categoria',3);
	
	cactux::abre_form();
	
	$t1[] = cactux::texto('Código:',$a_comp[esto_nb_id],1);
	// $t1[] = cactux::texto('Fornecedor:',$a_comp[enti_tx_nome],4);
	$t1[] = cactux::texto('Data:',data($a_comp[esto_tx_data],1),1);
	$t1[] = cactux::texto('Obs:',$a_comp[esto_tx_obs],5);

	// LEMBRAR AQUI QUE PARA O COMBO_NET FUNCIONAR, TEM QUE EXISTIR OS CAMPOS DE VALOR,VALOR_CX, VLAOR_UN E FORMA
	$gravar=cactux::botao_submit('Finalizar',2,'finaliza_compra','id',"$_POST[id]");
	
	$status=cactux::msg_status();
	
	
	$imprimir=cactux::botao('Imprimir',2,'imprimir');
	$voltar=cactux::botao('Voltar',2,'voltar');
	
	cactux::abre_fieldset('Informações da Compra');
	cactux::linha_fieldset($t1[0],$t1[1],$t1[2]);
	cactux::linha_fieldset($t2[0]);
	cactux::linha_fieldset($voltar,$imprimir,$gravar,$status);
	cactux::fecha_fieldset();

	$sql = selecionar('pres,produto.categoria','prod_tx_status,pres_tx_status,prod_nb_categoria,pres_nb_estoque',"ativo,!inativo,.cate_nb_id,$_POST[id]"," $extra GROUP BY prod_nb_id ORDER BY prod_tx_nome");
	$i=0;
	while ($a=carrega_array($sql)) {
		campo_hidden('id_produto[]',$a[0]);

		$total += $a[prod_tx_qtde];

		$estoque=cactux::campo_simples("estoque[$i]",mostra_valor($a[pres_tx_qtde]),2, " onfocus=this.select(); id='estoque[$i]' onkeyup='mascara_reais(this);' onblur='cadastra_estoque(this,$a[pres_nb_id],$a[prod_tx_qtde]);' "); //onkeyup='mascara_reais(this);
		$valores[] = array(++$cont,$a[prod_tx_nome],$a[prod_tx_ncm],$a[cate_tx_nome],mostra_valor($a[prod_tx_qtde]),$estoque);
		$i++;
	}
	
	$valores[]=array('','','','<b>TOTAL:</b>',"<b>".mostra_valor($total)."</b>",'');



	$cabecalho[]=array('','PRODUTO','NCM','CATEGORIA','ESTOQUE','INVENTÁRIO');
	$cabecalho[]='c,e,c,c,c,c,c';
	$cabecalho[]='5%,,10%,15%,10%,10%,2%';



	grid::gerar($cabecalho,$valores);

	cactux::fecha_form();	
	
	
	cactux::acao_botao('voltar','index','id',"$_POST[id]");
	cactux::acao_botao('imprimir','layout_imprimir','id',"$_POST[id]",'','','target=_blank');
	
	
	//$valor_fim=cactux::campo('Valor Total:','valor_total',mostra_valor($total_total),2, MASCARA_VALOR);
	echo "<iframe id=frame_cadastra style='display:none'></iframe>";
	


	if( $_POST[sistemacactus] == '' )
		$sistema_cactus = $_GET[sistemacactus];
	else
		$sistema_cactus = $_POST[sistemacactus];


	javascript("
		
		function cadastra_estoque(input,id_produto,estoque_original){
			var estoque = input.value;
			var id_campo = input.id;

			window.document.getElementById('frame_cadastra').src='entrada_produto_categoria.php?acao=cadastra_estoque&estoque='+estoque+'&id_campo='+id_campo+'&id_produto='+id_produto+'&estoque_original='+estoque_original+'&id=$_POST[id]&sistemacactus=$sistema_cactus';
		}

		function valor_final(valor) {
			
			window.document.finaliza.valor_total_hidden2.value = gera_valor(valor);			
		}

	    window.addEventListener('keydown', function(e) {
	        if (e.keyIdentifier == 'U+000A' || e.keyIdentifier == 'Enter' || e.keyCode == 13) {
	            if (e.target.nodeName == 'INPUT' && e.target.type == 'text') {
	                e.preventDefault();
	                return false;
	            }
	        }
	    }, true);
	
	");
	
	rodape();
}




function modifica_selecao() {

	if ( intval($_POST[id_estoque])==0 || intval($_POST[id])==0 ) {
		set_status('ERRO: Falha ao modificar a seleção!');
		index();
		exit;
	}


	if ( $_POST[marcar]=='Sim' ) {
		$campos = array(pres_nb_estoque,pres_nb_produto,pres_tx_status);
		$valores= array($_POST[id_estoque],$_POST[id],'ativo');
		inserir('pres',$campos,$valores,1);
	} else {
		$sql_pres = selecionar('pres','pres_tx_status,pres_nb_produto',"!inativo,$_POST[id]"," LIMIT 1 ");
		while ( $a_pres = carrega_array($sql_pres) ) {
			remover('pres',$a_pres[pres_nb_id]);
		}
	}

	$_POST[id] = $_POST[id_estoque];


	layout_busca_produto();
	exit;
}






function layout_busca_produto() {


	if ( intval($_POST[id])==0 ) {
		set_status('ERRO: Falha ao carregar os dados do inventário!');
		index();
		exit;
	}

	
	$a_comp=carregar('estoque',"$_POST[id]");



	if ( $_POST[busca_esto_produto]!='' ) {
		$extra .= " AND prod_tx_nome LIKE '%$_POST[busca_esto_produto]%' ";
	}
	if ( $_POST[busca_esto_categoria]!='' ) {
		$a_cate = carregar('categoria',$_POST[busca_esto_categoria]);
		$extra .= " AND prod_nb_categoria = '$_POST[busca_esto_categoria]' ";
	}



	cabecalho('Inventario por Categoria',3);


	
	cactux::abre_form();


	$t1[] = cactux::texto('Código:',$a_comp[esto_nb_id],1);
	$t1[] = cactux::texto('Data:',data($a_comp[esto_tx_data],1),2);
	// $t1[] = cactux::texto('Obs:',$a_comp[esto_tx_obs],10);

	$c[] = cactux::campo('Produto:','busca_esto_produto',$_POST[busca_esto_produto],5);
	$c[] = cactux::combo_bd('!Categoria:','busca_esto_categoria',$a_cate[cate_nb_id],$a_cate[cate_tx_nome],3,'categoria','.nome');
	$c[] = cactux::combo('Mais Vendidos:','busca_esto_mais',array('','10 Mais','20 Mais','30 Mais','40 Mais'),$_POST[busca_esto_mais],3,'categoria','.nome');


	// LEMBRAR AQUI QUE PARA O COMBO_NET FUNCIONAR, TEM QUE EXISTIR OS CAMPOS DE VALOR,VALOR_CX, VLAOR_UN E FORMA
	$buscar=cactux::botao_submit_busca('Buscar',2,'layout_busca_produto','id',"$_POST[id]");
	$avancar=cactux::botao('Avançar',2,'avancar');
	$voltar=cactux::botao('Voltar',2,'voltar');
	$status=cactux::msg_status();


	
	cactux::abre_fieldset('Informações da Compra');
	cactux::linha_fieldset($t1[0],$t1[1],$t1[2]);
	cactux::fecha_fieldset();
	
	cactux::abre_fieldset('Filtro de Buscas');
	cactux::linha_fieldset($c[0],$c[1],$c[2],$c[3],$c[4]);
	cactux::linha_fieldset($voltar,$buscar,$avancar,$status);
	cactux::fecha_fieldset();


	if ( $_POST[busca_esto_mais]!='' ) {
		$passado= date('Y-m-d', strtotime('-90 day', date('U')));
		$extra .= " AND orde_tx_data >= '$passado 00:00:00' ";

		$sql = selecionar('produto.*,categoria.*,SUM(orpr_tx_qtde) AS qtde_venda|orpr,ordem,produto.categoria','prod_nb_categoria,prod_tx_status,orpr_tx_status,orde_tx_status',".cate_nb_id,ativo,ativo,encerrado"," $extra GROUP BY prod_nb_id ORDER BY qtde_venda DESC LIMIT ".intval($_POST[busca_esto_mais]));
	} else {
		$sql = selecionar('produto,categoria','prod_tx_status','ativo'," $extra ORDER BY prod_tx_nome ASC LIMIT 100");
	}
	
	

	$i=0;
	while ($a=carrega_array($sql)) {

		$sql_test=selecionar('pres','pres_tx_status',"!inativo"," AND pres_nb_estoque = '$_POST[id]' AND pres_nb_produto = '$a[prod_nb_id]' LIMIT 1");
		if(num_linhas($sql_test)>0){
			$a_pres = carrega_array($sql_test);
			// $check = ".icone_modificar($a[prod_nb_id],modifica_selecao,'id_estoque,id_pres','$_POST[id],$a_pres[pres_nb_id]','','','','/cactus/imagens/confirmar.png')";
			$check = "<input name=checkbox type='checkbox' value ='$a[prod_nb_id]' onclick='grava_estoque(this.value,$_POST[id])' checked>";
		}else{
			// $check = ".icone_modificar($a[prod_nb_id],modifica_selecao,'id_estoque,marcar','$_POST[id],Sim','','','','/cactus/imagens/confirmar2.png')";
			$check = "<input name=checkbox type='checkbox' value ='$a[prod_nb_id]' onclick='grava_estoque(this.value,$_POST[id])'>";
		}

		$total += $a[prod_tx_qtde];

		$valores[] = array(++$cont,$a[prod_tx_nome],$a[prod_tx_ncm],$a[cate_tx_nome],mostra_valor($a[prod_tx_qtde]),$check);
		$i++;
	}
	
	$valores[]=array('','','','<b>TOTAL:</b>',"<b>".mostra_valor($total)."</b>",'');


	$cabecalho[]=array('','PRODUTO','NCM','CATEGORIA','ESTOQUE',"<input type='checkbox' id=toogle_check onclick='marca_todos()'>");
	$cabecalho[]='c,e,c,c,c';
	$cabecalho[]='5%,,10%,15%,10%,2%';


	cactux::fecha_form();
	
	cactux::acao_botao('voltar','index');
	cactux::acao_botao('avancar','modifica_compra','id',"$_POST[id]"	);




	grid::gerar($cabecalho,$valores);
	
	
	//$valor_fim=cactux::campo('Valor Total:','valor_total',mostra_valor($total_total),2, MASCARA_VALOR);
	echo "<iframe id=frame_cadastra style='display:none'></iframe>";
	echo "<iframe id=frame_estoque style='display:none'></iframe>";

	if( $_POST[sistemacactus] == '' )
		$sistema_cactus = $_GET[sistemacactus];
	else
		$sistema_cactus = $_POST[sistemacactus];

	?>
	<script type="text/javascript">

		function marca_todos(){

			checkboxes = document.getElementsByName('checkbox');
			var texto = '';
			var checa;
			if(document.getElementById('toogle_check').checked == true)
				var checa = 1;
			else
				var checa = 0;

			for(var i=0, n=checkboxes.length;i<n;i++) {
				checkboxes[i].checked = document.getElementById('toogle_check').checked;
				// // alert(checkboxes[i].checked +' - '+checkboxes[i].value);
				// if(checkboxes[i].checked)
					texto += ','+checkboxes[i].value;
				
			}

			texto = texto.substring(1);
			window.document.getElementById('frame_estoque').src = 'entrada_produto_categoria.php?acao=check_lista_produto&idEstoque='+<?=$_POST[id]?>+'&idProduto='+texto+'&sistemacactus=<?=$sistema_cactus?>&checa='+checa;
	
		}
	
	function grava_estoque(idProduto,idEstoque){
		// alert(idProduto+'-'+idEstoque);
		window.document.getElementById('frame_estoque').src = 'entrada_produto_categoria.php?acao=check_produto&idEstoque='+idEstoque+'&idProduto='+idProduto+'&sistemacactus=<?=$sistema_cactus?>';
	}
	
	// function cadastra_check(input,id_produto,estoque_original){
	// 	var estoque = input.value;
	// 	var id_campo = input.id;

	// 	window.document.getElementById('frame_cadastra').src='entrada_produto_categoria.php?acao=cadastra_check&estoque='+estoque+'&id_campo='+id_campo+'&id_produto='+id_produto+'&estoque_original='+estoque_original+'&id=$_POST[id]';
	// }

	function valor_final(valor) {
		
		window.document.finaliza.valor_total_hidden2.value = gera_valor(valor);
		
		
	}

    window.addEventListener('keydown', function(e) {
        if (e.keyIdentifier == 'U+000A' || e.keyIdentifier == 'Enter' || e.keyCode == 13) {
            if (e.target.nodeName == 'INPUT' && e.target.type == 'text') {
                e.preventDefault();
                return false;
            }
        }
    }, true);

    </script>
	<?

	
	
	
	
	rodape();
}







function cadastra_compra() {

	
	$campos=array(esto_tx_status,esto_tx_data);
	$valores=array('ativo',date('Y-m-d'));
	inserir('estoque',$campos,$valores,1);
	$id_ped=ultimo_reg('estoque');

	$_POST[id]=$id_ped;	


	layout_busca_produto();
	exit;
}





/*
function layout_compra() {

	global $a_mod;
	
	if($a_mod[esto_nb_entidade]>0)
		$a_ent=carregar('entidade',$a_mod[esto_nb_entidade]);
	
	if($a_mod[esto_tx_data]=='' || $a_mod[esto_tx_numeroNf]=='0000-00-00')
		$data=date("Y-m-d");
	else
		$data=$a_mod[esto_tx_data];

	cabecalho('Inventario por Categoria',2);

	cactux::abre_form();

	// $c[] = cactux::combo_net('Fornecedor:','fornecedor',$a_ent[enti_nb_id],$a_ent[enti_tx_nome],4,array('busca_div.php?c=entidade','busca_net.php?c=entidade'));
//	$c[] = cactux::campo('Valor Total:','valor',mostra_valor($a_mod[esto_tx_valor]),2, MASCARA_VALOR);
	$c[] = cactux::combo_net('!NCM:','imposto',$a_imposto[0],$nome_imposto,7,array("busca_imposto_div.php?c=ncm","busca_imposto_net.php?c=ncm"));
	$c[] = cactux::combo_bd('!Categoria:','categoria',$a_mod[esto_nb_categoria],$a_mod[esto_nb_categoria],3,'categoria','.nome');
	$c[] = cactux::campo('Data:','data',data($data,1),2,"");
	// $c[] = cactux::campo('Nota Fiscal:','nf',$a_mod[esto_tx_numeroNf],2);
	
	
	$c[] = cactux::campo('Observação:','obs',$a_mod[esto_tx_obs],8);
	
	$avancar=cactux::botao_submit('Avançar',2,'cadastra_compra','id',$_POST[id]);
	$voltar=cactux::botao('Voltar',2,'voltar');
	$status=cactux::msg_status();
	
	cactux::abre_fieldset('Informações da Compra');
	cactux::linha_fieldset($c[0],$c[1]);
	cactux::linha_fieldset($c[2],$c[3]);
	cactux::linha_fieldset($voltar,$avancar,$status);
	cactux::fecha_fieldset();
	
	cactux::fecha_form();
	
	cactux::acao_botao('voltar','index');
}
*/




function index(){
	global $CONFIGURA;


	if( $_POST[busca_data1] )
		$extra .= " AND esto_tx_data >= '".gera_data($_POST[busca_data1],1)." 00:00:00'";
	if( $_POST[busca_data2] )
		$extra .= " AND esto_tx_data <= '".gera_data($_POST[busca_data2],1)." 23:59:59'";
	if( $_POST[busca_fornecedor] ){
		$extra .= " AND enti_tx_nome LIKE '%$_POST[busca_fornecedor]%'";
	}
	if( $_POST[busca_cod] )
		$extra .= " AND esto_nb_id = '$_POST[busca_cod]'";

	if($_POST[busca_categoria])
		$extra .= " AND esto_nb_categoria = '$_POST[busca_categoria]'";

	cabecalho('Inventario por Categoria',2);
	


	cactux::abre_form();
	
	//CAMPOS
//	$c[] = cactux::combo_net('Fornecedor:','busca_fornecedor',$a_mod[enti_nb_id],$a_mod[enti_tx_nome],4,array('busca_div.php?c=entidade','busca_net.php?c=entidade'));
	$c[] = cactux::campo('Código:','busca_cod',$_POST[busca_cod],2);
	// $c[] = cactux::campo('Fornecedor:','busca_fornecedor',$_POST[busca_fornecedor],4);
	$c[] = cactux::campo('Data Inicial:','busca_data1',$_POST[busca_data1],2,MASCARA_DATA);
	$c[] = cactux::campo('Data Final:','busca_data2',$_POST[busca_data2],2,MASCARA_DATA);
	$c[] = cactux::combo_bd('!Categoria:','busca_categoria',$_POST[busca_categoria],$_POST[busca_categoria],3,'categoria');
	
	//BOTOES
	$buscar = cactux::botao_submit_busca('Buscar',2,'index');
	$inserir = cactux::botao('Inserir',2,'inserir');
	$status = cactux::msg_status();
	
	cactux::abre_fieldset('Filtro de Busca');
	cactux::linha_fieldset($c[0],$c[1],$c[2],$c[3],$c[4]);
	cactux::linha_fieldset($buscar,$inserir,$imprimir_busca,$status);
	cactux::fecha_fieldset();
	
	$sql=selecionar('estoque','esto_tx_status',"!inativo"," $extra ORDER BY esto_nb_id DESC",1);
	$BUSCA = grid::gerar_paginacao($sql,'','',30);
	
	$cabecalho[]=array('CÓD','DATA','QTDE','SITUAÇÃO','','','','');
	$cabecalho[]='c,c,c';
	$cabecalho[]='10%,,10%,15%,2%,2%,2%,2%';
	// $cabecalho[]='50%';
	
	while($a=carrega_array($BUSCA[0])){
	
		$imprimir = ".icone_modificar($a[0],'layout_imprimir','','','','target=_blank','','/cactus/imagens/imprimir.png')";

		if($a[esto_nb_categoria]>0)
			$a_cate=carregar('categoria',$a[esto_nb_categoria]);
		else
			$a_cate='';
		
		if($a[esto_tx_status] != 'encerrado'){
			$modificar = ".icone_modificar($a[0],'layout_busca_produto')";
		} else {
			$modificar = "";
		}
		
		if($_SESSION[user_tx_nivel] == 'Administrador') {
		
			if($a[esto_tx_status] != 'encerrado'){
				$excluir = ".icone_excluir($a[0],'exclui_compra')";
			} else {
				$modificar = '';
				$excluir = '';
				$imprimir="$imprimir;";
				
			}
		}

		$congelar = '';
		if($a[esto_tx_status] != 'encerrado'){
			$finalizar = ".icone_modificar($a[0],'layout_produto_finalizar','','','','','','/cactus/imagens/atualizar.png')";
			
			$sql_cong = selecionar('congela','cong_tx_status','ativo'," AND cong_nb_estoque = '$a[0]' LIMIT 1");
			if(num_linhas($sql_cong)>0){
				$congelar = "<img src='$CONFIGURA[PATH]/cactus/imagens/cadeado3.png'>";
				$modificar = '';
				// $congelar = ".icone_modificar($a[0],'cadastra_congela_completo','','','','','','/cactus/imagens/cadeado3.png')";
			}else{
				$congelar = ".icone_modificar($a[0],'cadastra_congela_completo','','','','','','/cactus/imagens/cadeado2.png')";
			}
		}else{
			$finalizar = "";
		}

		$sql_qtde = selecionar('pres,produto','prod_tx_status,pres_tx_status,pres_nb_estoque',"ativo,!inativo,$a[esto_nb_id]"," GROUP BY prod_nb_id");
		$qtde = num_linhas($sql_qtde);

		

		$valores[]=array($a[esto_nb_id],data($a[esto_tx_data],1),$qtde,$a[esto_tx_status],$congelar,$imprimir,$modificar,$finalizar);
	
		$total_valor+=$a[esto_tx_valor];
	}
	
	
	cactux::fecha_form();
	
	cactux::acao_botao('inserir','cadastra_compra');
	cactux::acao_botao('imprimir_busca','layout_imprimi_busca','','','','',' target=_blank');
	grid::gerar($cabecalho,$valores);
	grid::paginar($BUSCA);
	
	rodape();
}


controle();
?>
