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


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;
		}
	}


	$sql_test=selecionar('pres','pres_tx_status',"!inativo"," AND pres_nb_estoque = '$_POST[id]'");
	while($a=carrega_array($sql_test)){

		
		if( $a_compra[esto_nb_loja] > 1 ) {
			$campo_qtde = 'prod_tx_qtde'.$a_compra[esto_nb_loja];
		} else {
			$campo_qtde = 'prod_tx_qtde';
		}
		
		$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];
		atualizar('produto',$campo_qtde,$prod_qtde,$a[pres_nb_produto]);
		
		$campos=array(pres_tx_status,pres_tx_estoqueAtual);
		$valores=array('encerrado',$a_prod[$campo_qtde]);
		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_compra();
	exit;
	
}


function finaliza_produto() {
	
	print_r($_POST);
	exit;
	
	if(mostra_valor($_POST[total],1)!=mostra_valor($_POST[valor_total_hidden2],1))
		$_POST[total]=$_POST[valor_total_hidden2];
		
	if(mostra_valor($_POST[valor_total_hidden2])==0){
		layout_produto();
		exit;
	}
		
	
	
	
	//exit;

	$produto=$_POST[produto];
	$qtde=$_POST[qtde];
	$valor_un=$_POST[valor_un];
	
	$t_produto = count($qtde);
	

	// EVITA QUE, POR ACASO, O COMPRADOR ATUALIZE DEPOIS DA SOLICITACAO TER SIDO AUTORIZADA
	$a_comp = carregar('compra',$_POST[id]);
	if( $a_comp[esto_tx_status] != 'Solicitado' && $a_comp[esto_tx_status] != 'inativo' ) {
		set_status('ERRO: Impossível gravas os dados!');
		index();
		exit;
	}
	
	

	// ATUALIZA A TABELA _COMPRA_ COM O STATUS FINAL		
	$campos=array(esto_tx_status,esto_tx_valor);
	$valores=array('Solicitado',$_POST[total]);
	atualizar('compra',$campos,$valores,$_POST[id]);
	
	set_status('Solicitação efetuada com sucesso!');
	index();
	exit;
	
}





function cadastra_produto(){

	$id_pres=$_POST[id_pres];
	$cod2=$_POST[cod2];
	$lote=$_POST[lote];
	$t_id_pres=count($id_pres);
/*	
	for($i=0;$i<$t_id_pres;$i++){
	
		//if($cod2[$i]!='')
			atualizar('pres','pres_tx_codigo',$cod2[$i],$id_pres[$i]);
			atualizar('pres','pres_tx_lote',$lote[$i],$id_pres[$i]);
	
	}
*/	
	

	if($_POST[produto] != '' ){

		$produto=$_POST[produto];
		if($_POST[qtde]<1)
			$_POST[qtde]=1;
		if($_POST[valor_un]<1)
			$_POST[valor_un]=1;

		$campos=array(pres_nb_estoque,pres_nb_produto,pres_tx_status,pres_tx_valor,pres_tx_qtde);
		$valores=array($_POST[id],$produto,'ativo',valor($_POST[valor_un]),valor($_POST[qtde]));
		inserir('pres',$campos,$valores,1);
		
	}
	
	layout_produto();
	exit;
	

}


function layout_imprimir(){
	global $a_mod;
	

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



	//SE TIVER ATUALIZANDO, ENTAO CARREGA OS PRODUTOS JAH CADASTRADOS
	$sql=selecionar('pres,produto,estoque','pres_nb_estoque,esto_tx_status,pres_tx_status',"$_POST[id],!inativo,!inativo","",0);	
	
	
	cabecaRelatorio('Compra',3);
	
	cactux::abre_form();
	
	$t1[] = cactux::texto('Código:',$a_comp[esto_nb_id],1);
	// $t1[] = cactux::texto('Fornecedor:',$a_comp[enti_tx_nome],3);
	$t1[] = cactux::texto('Data:',data($a_comp[esto_tx_data],1),1);
	$t2[] = cactux::texto('Obs:',$a_comp[esto_tx_obs],5);


	//LIBERA O BOTAO FINALIZAR SOMENTE SE HOUVER NO MINIMO 1 PRODUTO
	// $a_teste1=carregar('listacompra','','list_nb_compra,list_tx_status',"$_POST[id],ativo");
	
	if(num_linhas($sql)>0)	
		$finaliza=cactux::botao('Finalizar',2,'finaliza','id',"$_POST[id]");
	
	$voltar=cactux::botao('Voltar',2,'voltar');
	
	cactux::abre_fieldset('Informações da Compra');
	cactux::linha_fieldset($t1[0],$t1[1],$t1[2],$t2[0]);
	cactux::fecha_fieldset();


	$cabecalho[]=array('COD','MATERIAL','QUANTIDADE');
	$cabecalho[]='c,e';
	$cabecalho[]='5%,,15%,15%,15%,2%';
		
	while( $a=carrega_array($sql) ) {

		$campo_cod=cactux::campo_simples('cod2[]',$a[pres_tx_codigo],2);
		$campo_lote=cactux::campo_simples('lote[]',$a[pres_tx_lote],2);
		
		if($a[pres_tx_valor]>0)
			$valor_unitario=$a[pres_tx_valor];
		else
			$valor_unitario=$a[prod_tx_valor];
		
		$valores[]=array(++$j,$a[prod_tx_nome],mostra_valor($a[pres_tx_qtde]));
		
		campo_hidden('id_pres[]',$a[pres_nb_id]);
		$id_pres2[]=$a[pres_nb_id];
		
		
		$total_valor+=$valor_unitario;
		// $total_geral += ($a[pres_tx_valor]*$a[pres_tx_qtde]);
		$total_geral += $a[pres_tx_qtde];
		
		
	}
	

	
	//$valores[]=array('','','<b>TOTAL:</b>',"<b>".mostra_valor($total_qtde)."</b>","<b>".mostra_valor($total_valor)."</b>","<b>".mostra_valor($total_total)."</b>",'','');
	$valores[]=array('','<b>TOTAL:</b>',"<b>".mostra_valor($total_geral)."</b>");
	
		

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

}





function layout_produto(){
	global $a_mod;
	
	$a_comp=carregar('estoque',"$_POST[id]");
//	$a_cida = carregar('compra,loja',$_POST[id]);
	
	//SE TIVER ATUALIZANDO, ENTAO CARREGA OS PRODUTOS JAH CADASTRADOS
	$sql=selecionar('pres,produto,estoque','pres_nb_estoque,esto_tx_status,pres_tx_status',"$_POST[id],ativo,!inativo","",0);	
	
	
	cabecalho('Ajuste de Estoque',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('Nota Fiscal:',$a_comp[esto_tx_numeroNf],2);
	$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
	$gravar=cactux::botao_submit('Gravar',2,'cadastra_produto','id,valor_prod,valor,valor_cx,valor_un,forma',"$_POST[id],0,0,0,0,0");
	
	$status=cactux::msg_status();
	
	//LIBERA O BOTAO FINALIZAR SOMENTE SE HOUVER NO MINIMO 1 PRODUTO
	// $a_teste1=carregar('listacompra','','list_nb_compra,list_tx_status',"$_POST[id],ativo");
	
	if(num_linhas($sql)>0)	
		$finaliza=cactux::botao('Finalizar',2,'finaliza','id',"$_POST[id]");
	
	$voltar=cactux::botao('Voltar',2,'voltar');
	
	cactux::abre_fieldset('Informações da Compra');
	cactux::linha_fieldset($t1[0],$t1[1],$t1[2],$t1[3],$t1[4]);
	cactux::linha_fieldset($t2[0]);
	cactux::fecha_fieldset();

	cactux::abre_fieldset('Informações dos Produtos');
	
	$produto = cactux::combo_net('!Material:','produto',$a_mod[prod_nb_id],$a_mod[prod_tx_nome],6,array('busca_produto.php?c=produto2&t='.$a_comp[esto_nb_setor],'busca_produto_net.php?c=produto&t='.$a_comp[esto_nb_setor]));	
//	$produto = cactux::combo_net('!Material:','campo_produto_',$a_mod[prod_nb_id],$a_mod[prod_tx_nome],6,array('busca_div.php?c=produto&t='.$a_comp[esto_nb_setor],'busca_net.php?c=produto&t='.$a_comp[esto_nb_setor]),"  onFocus=abre_proximo('div_produto_',".($i+1).")");
	//$unidade= cactux::combo_bd('Unidade:','unidade',$a_un[unid_nb_id],$a_un[unid_tx_nome],2,'unidade');
	$qtde = cactux::campo('Quantidade:','qtde',mostra_valor($a_mod[list_tx_qtde]),2," onkeyup='mascara_reais(this);calcula_total(1)'   id=qtde_".$i." ");
	//$valor_un= cactux::campo('Valor Unitário:','valor_un',mostra_valor($a_mod[list_tx_valor]),2,MASCARA_VALOR);

		
//	cactux::campo_hidden('valor','');
//	cactux::campo_hidden('valor_cx','');
//	cactux::campo_hidden('valor_un','');
//	cactux::campo_hidden('forma','');
	cactux::linha_fieldset($produto,$qtde,$valor_un);
	cactux::linha_fieldset($voltar,$gravar,$finaliza,$status);

	cactux::fecha_fieldset();
	cactux::fecha_form();	


	$cabecalho[]=array('COD','MATERIAL','QUANTIDADE','');
	$cabecalho[]='c,e';
	$cabecalho[]='5%,,15%,2%';

	
	while( $a=carrega_array($sql) ) {

		$exclui = ".icone_excluir($a[0],'exclui_produto')";
		$valores[]=array(++$j,$a[prod_tx_nome],mostra_valor($a[pres_tx_qtde]),$exclui);
		
		campo_hidden('id_pres[]',$a[pres_nb_id]);
		$id_pres2[]=$a[pres_nb_id];
		
		
		// $total_valor+=$a[pres_tx_valor]*$a[pres_tx_qtde];
		$total_valor+=$a[pres_tx_qtde];
		
		
	}
	
	$valores[]=array('','<b>TOTAL:</b>',"<b>".$total_valor."</b>",'');

	grid::gerar($cabecalho,$valores);
	
	
	cactux::acao_botao('voltar','index');
	cactux::acao_botao('finaliza','finaliza_compra','id',"$_POST[id]");
	
	
	//$valor_fim=cactux::campo('Valor Total:','valor_total',mostra_valor($total_total),2, MASCARA_VALOR);
	
	javascript("
	
	function valor_final(valor) {
		
		window.document.finaliza.valor_total_hidden2.value = gera_valor(valor);
		
		
	}

	
	");
	
	
	
	rodape();
	

}



function cadastra_compra() {

	// if( $_POST[fornecedor]=='' ){
	// 	set_status("ERRO: Preencha todos os campos!");
	// 	if( !$_POST[id] )
	// 		layout_compra();
	// 	else
	// 		modifica_compra();
	// 	exit;	
	// }
	

	if( !$_POST[id] ) {
		
		$hoje = date("Y-m-d H:i:s");
		
		$campos=array(esto_nb_entidade,esto_tx_obs,esto_tx_status,esto_tx_data,esto_tx_numeroNf);
		$valores=array($_POST[fornecedor],$_POST[obs],'ativo',gera_data($_POST[data],1),$_POST[nf]);
		inserir('estoque',$campos,$valores,1);
		$id_ped=ultimo_reg('estoque');
		
		
				
		$_POST[id]=$id_ped;	
		
		
	} else {

		$a_comp=carregar('estoque',$_POST[id]);
	
		$campos=array(esto_nb_entidade,esto_tx_obs,esto_tx_status,esto_tx_data,esto_tx_numeroNf);
		$valores=array($_POST[fornecedor],$_POST[obs],'ativo',gera_data($_POST[data],1),$_POST[nf]);
		atualizar('estoque',$campos,$valores,$a_comp[esto_nb_id]);
		
		


	}

	layout_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('Ajuste de Estoque',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::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],$c[2],$c[3]);
	cactux::linha_fieldset($voltar,$avancar,$status);
	cactux::fecha_fieldset();
	
	cactux::fecha_form();
	
	cactux::acao_botao('voltar','index');
	
}

function index(){


	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]'";

	cabecalho('Ajuste de Estoque',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);
	
	//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','OBSERVAÇÃO','SITUAÇÃO','','');
	$cabecalho[]='c,c,e,e,e,c,c,c';
	$cabecalho[]='5%,20%,,10%,2%,2%,2%';
	
	while($a=carrega_array($BUSCA[0])){
	
		$imprimir = ".icone_modificar($a[0],'layout_imprimir','','','','target=_blank','','/cactus/imagens/imprimir.png')";
		
		if($a[esto_tx_status] != 'encerrado'){
			$modificar = ".icone_modificar($a[0],'modifica_compra')";
		} 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;";
				
			}
		}
		
		$valores[]=array($a[esto_nb_id],data($a[esto_tx_data],1),$a[esto_tx_obs],$a[esto_tx_status],$imprimir,$modificar);
	
		$total_valor+=$a[esto_tx_valor];
	}
	
	
	cactux::fecha_form();
	
	cactux::acao_botao('inserir','layout_compra');
	cactux::acao_botao('imprimir_busca','layout_imprimi_busca','','','','',' target=_blank');
	grid::gerar($cabecalho,$valores);
	grid::paginar($BUSCA);
	
	rodape();
	
	cactux::acao_botao('faz_pagamento_form','seleciona_layout_finaliza','ids_agrupados','0');
	
	javascript("
		
		var IDS_AGRUPA = Array();
		
		function seleciona_check(id) {
			
			var t = IDS_AGRUPA.length;
			var achou=0;
			
			// VARRE O ARRAY E TESTA SE O ID JAH EXISTE, SE JAH EXISTIR ENTAO APAGA
			for(i=0; i!=t; i++) {
				
				if( IDS_AGRUPA[i] == id ) {
					achou = 1;
					IDS_AGRUPA[i]='';
					break;
				}
				
			}
			
			// SE NAO EXISTIR, ENTAO INSERE NO ARRAY
			if( achou != 1 ) {
				
				IDS_AGRUPA[t] = id;
				
			}
			
		}
		
		function faz_pagamento(id_atual) {
			
			// JUNTA O ARRAY EM UMA STRING SEPARADA POR '-'
			var agrupados = IDS_AGRUPA.join('-');
			
			// CONCATENA COM A STRING O ID DO PAGAMENTO CLICADO
			agrupados += '-'+id_atual;
			
			document.faz_pagamento_form.ids_agrupados.value=agrupados;
			document.faz_pagamento_form.submit();
			
		}
		
	");
	
}


controle();
?>
