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


// ------------------------------------------------------------------------------------------
// SE RECEBE UM ARGUMENTO PELO GET, DIRECIONA PARA A TELA DE IMPRESSAO
// ------------------------------------------------------------------------------------------
if( $_GET[i] ) {

	if( md5($_GET[i]) != $_GET[s] )
		exit;

	$_POST[acao] = 'layout_imprime';
	$_POST[id]  = $_GET[i];
	
}


function cadastra_recebimento_produto() {

	// VERIFICA SE A VARIÁVEL FOI PASSADA
	if ( intval($_POST[id])==0 ) {
		set_status('ERRO: Falha ao cadastrar o recebimento!');
		index();
		exit;
	}

	$a_comp = carregar('comp_tx_opcaoFinanceiro|compra',$_POST[id]);


	// --------------------------------------------------------------------------------
	// DA ENTRADA NO ESTOQUE
	// --------------------------------------------------------------------------------
	$qtde_recebida = $_POST[qtde_recebida];
	$id_lista_recebida	= $_POST[id_lista_recebida];
	$t = count($qtde_recebida);
	
	for($i=0; $i!=$t; $i++) {
		
		$qtde_vez = valor($qtde_recebida[$i]);

		$a_lis=carregar('listacompra',$id_lista_recebida[$i]);


		if ( ($a_comp[comp_tx_opcaoFinanceiro]=='Bonificação' || $a_comp[comp_tx_opcaoFinanceiro]=='Sim') && $qtde_vez==$a_lis[list_tx_qtde] ) {
			// SE A QUANTIDADE REC. ESTIVER OK E FOR BONIFICAÇÃO
			$status_lista = 'encerrado';

		} else {
			$status_lista = 'ativo';
		}

		$campos=array(list_tx_recebido,list_tx_qtdeEfetiva,list_tx_status);
		$valores=array($qtde_vez,$qtde_vez,$status_lista);
		atualizar('listacompra',$campos,$valores,$id_lista_recebida[$i]);

		$a_lista = carregar('listacompra,produto',$id_lista_recebida[$i]);

		atualizar('produto','prod_tx_qtde',$a_lista[prod_tx_qtde]+$qtde_vez,$a_lista[list_nb_produto]);
		// atualizar('produto','prod_tx_valorCusto',$a_lista[list_tx_valor],$a_lista[list_nb_produto]);

		registra_acao('ADICIONOU O ESTOQUE','produto',$a_lista[list_nb_produto],0,' QTDE: '.mostra_valor($qtde_vez,1));

		if( $qtde_vez!=$a_lis[list_tx_qtde] ){
			$compra_status = 'Pendente';
		}

/*		
		
		if( $a_lista[list_tx_status] == 'ativo' ) {
			
			query("UPDATE produto SET prod_tx_qtde=prod_tx_qtde+$qtde_vez WHERE prod_nb_id='$a_lista[list_nb_produto]' ");
//			echo "UPDATE produto SET prod_tx_qtde=prod_tx_qtde+$qtde_vez WHERE prod_nb_id='$a_lista[list_nb_produto]' <br>";
			
			
		}
*/		
		
	}
/*	
	$campos=array(comp_tx_status);
	$valores=array(Recebido);
	atualizar('compra',$campos,$valores,$_POST[id]);
*/	
	if($compra_status=='') {

		if ( $a_comp[comp_tx_opcaoFinanceiro]=='Bonificação' || $a_comp[comp_tx_opcaoFinanceiro]=='Sim' ) {
			// SE A OPÇÃO FINANCEIRO FOR BONIFICAÇÃO, MARCA COMO FINALIZADO
			$compra_status = 'Finalizado';
		} else {
			$compra_status = 'Recebido';
		}		
	}

	atualizar('compra','comp_tx_status',$compra_status,$_POST[id]);
	index();
	// seleciona_layout_finaliza();
	exit;
	
}


function verifica_notafiscal() {

	if( $_GET[nf] == '' || $_GET[nf] == ' ' )
		return;

	$sql = selecionar('movimento','movi_tx_status,movi_tx_notafiscal,movi_nb_ref',"!inativo,$_GET[nf],$_GET[enti]",'');
	$total_linhas = num_linhas($sql);
	
	echo "<BR><BR>TOTAL LINHAS: $total_linhas";
	if( $total_linhas > 0 ) {
		
		javascript("
			
			alert('ATENÇÃO: Nota fiscal já existente!');
			
		");
		
	} else {
		
		javascript("
//			alert('OK');
		");
	
	}
	

}

function ids_agrupados($ids_agrupados) {
	
	$a = explode("-",$ids_agrupados);
	$a2 = array_unique($a);
	
	sort($a2);
	
	// SE TIVER ELEMENTOS EM BRANCO, REMOVE
	if( $a2[0] == '' ) 
		array_shift($a2);
	
	return $a2;
	
}

function exclui_compra(){

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


function modifica_compra(){
	
	global $a_mod;
	$a_mod = carregar('compra,setor,entidade',$_POST[id]);
	layout_compra();
	exit;
	
}

function modifica_produto(){
	
	global $a_mod;
	$a_mod = carregar('listacompra,compra,produto',$_POST[id]);
	
	$_POST[id]=$a_mod[comp_nb_id];
	
	layout_produto();
	exit;
	
}


function exclui_produto(){
	

	$a_exc = carregar('listacompra,compra,produto',$_POST[id]);
	
	remover('listacompra',$a_exc[list_nb_id]);
	$_POST[id]=$a_exc[comp_nb_id];
	
	layout_produto();
	exit;
	
}

function cadastra_produto(){

//	echo"ENTROU!!!!";
//	exit;


	$a_un=carregar('unidade',$_POST[unidade]);
	$_POST[unidade]=$a_un[unid_tx_nome];

	$produto=$_POST[campo_produto_];
	$qtde=$_POST[qtde];
	$valor_un=$_POST[valor_un];
	$nome_prod=$_POST[nome_campo_produto_];


	// REMOVE PRODUTOS ANTIGOS, CASO ESTEJA ATUALIZANDO
//	$sql = selecionar('listacompra','list_nb_compra,list_tx_status',"$_POST[id],ativo");
//	while( $a = carrega_array($sql) ) {
//		remover('listacompra',$a[list_nb_id]);
//	}
	
	// INSERE OS VALORES NA TABELA _LISTACOMPRA_
	
	
//	$valor_vez = valor($valor_un[$i]);
//	$qtde_vez = valor($qtde[$i]);
//	$produto_vez = $_POST['campo_produto_'.$i];
	
	// NAO DEIXA CADASTRAR VALORES EM BRANCO
	//if( $valor_vez=='' || $produto_vez=='' || $qtde_vez=='' )	
	//	continue;

	$valores=array($_POST[id],$produto,valor($qtde),valor($valor_un),'ativo',$nome_prod,$_POST[unidade]);
	$campos=array(list_nb_compra,list_nb_produto,list_tx_qtde,list_tx_valor,list_tx_status,list_tx_produto,list_tx_unidade);
	if($_POST[a_mod]=='')
		inserir('listacompra',$campos,$valores,1);
	else{
		atualizar('listacompra',$campos,$valores,$_POST[a_mod]);
		unset($_POST[a_mod]);
	}
	layout_produto();
	exit;
	

}





function finaliza_produto() {
	
	
	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[comp_tx_status] != 'Solicitado' && $a_comp[comp_tx_status] != 'inativo' ) {
		set_status('ERRO: Impossível gravas os dados!');
		index();
		exit;
	}
	
	

	// ATUALIZA A TABELA _COMPRA_ COM O STATUS FINAL		
	$campos=array(comp_tx_status,comp_tx_valor);
	$valores=array('Solicitado',$_POST[total]);
	atualizar('compra',$campos,$valores,$_POST[id]);
	
	
	$campos=array(comp_tx_status,comp_nb_userGestor,comp_tx_obsAutoriza,comp_tx_dataAutoriza,comp_nb_userAutoriza,comp_tx_arquivoAutoriza);
	$valores=array('Autorizado',1,$_POST[obs],date("Y-m-d H:i:s"),$_SESSION[user_nb_id],$arquivo_autoriza);
	atualizar('compra',$campos,$valores,$_POST[id]);

	
	set_status('Solicitação efetuada com sucesso!');
	index();
	exit;
	
}



function cadastra_compra() {

	if($_POST[setor]=='' || $_POST[fornecedor]=='' || valor($_POST[valor])=='0'){
		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(comp_nb_entidade,comp_nb_setor,comp_nb_userCadastro,comp_tx_dataCadastro,comp_tx_obsCadastro,comp_tx_status);
		$valores=array($_POST[fornecedor],$_POST[setor],$_SESSION[user_nb_id],$hoje,$_POST[obs],'inativo');
		inserir('compra',$campos,$valores,1);
		
		$_POST[id]=ultimo_reg('compra');	
/*		$sql = selecionar('comp_nb_id|compra','comp_nb_entidade,comp_nb_setor,comp_nb_userCadastro,comp_tx_dataCadastro,comp_tx_obsCadastro,comp_tx_status',
		"$_POST[fornecedor],$_POST[setor],$_SESSION[user_nb_id],$hoje,$_POST[obs],inativo"," ORDER BY comp_nb_id DESC");
		$a = carrega_array($sql);
		$_POST[id] = $a[0];
*/		
		
	} else {
	
		$campos=array(comp_nb_entidade,comp_nb_setor,comp_tx_dataCadastro,comp_tx_obsCadastro);
		$valores=array($_POST[fornecedor],$_POST[setor],date("Y-m-d H:i:s"),$_POST[obs]);
		atualizar('compra',$campos,$valores,$_POST[id]);

	}

	layout_produto();
	exit;
	
}


	

function layout_produto(){
	global $a_mod;
	
	
	
	$a_comp=carregar('compra,setor,entidade.user',$_POST[id],'comp_nb_userCadastro','.user_nb_id');

	// SE TIVER ATUALIZANDO, ENTAO CARREGA OS PRODUTOS JAH CADASTRADOS
	$sql=selecionar('listacompra,compra,produto','list_nb_compra,list_tx_status',"$_POST[id],ativo",'',0);	
	
	
	cabecalho('Requisição de Compra',3);
	
	cactux::abre_form();
	
//	$t1[] = cactux::texto('Código:',zeros($a_comp[comp_nb_id],3),2);
	$t1[] = cactux::texto('Código:',$a_comp[comp_nb_id],2);
	$t1[] = cactux::texto('Setor:',$a_comp[seto_tx_nome],2);
	$t1[] = cactux::texto('Comprador:',$a_comp[user_tx_nome],4);
	$t1[] = cactux::texto('Data:',data($a_comp[comp_tx_dataCadastro],1),2);

	$t2[] = cactux::texto('Fornecedor:',$a_comp[enti_tx_nome],4);
	$t2[] = cactux::texto('Descrição/Forma de Pagamento:',$a_comp[comp_tx_obsCadastro],4);
//	$t2[] = cactux::texto('Valor:',mostra_valor($a_comp[comp_tx_valor],1),2);

	$gravar=cactux::botao_submit('Gravar',2,'cadastra_produto','id,a_mod',"$_POST[id],$a_mod[list_nb_id]");
	
	//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($a_teste1[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]);
	cactux::linha_fieldset($t2[0],$t2[1],$t2[2]);
	cactux::fecha_fieldset();

	
	cactux::abre_fieldset('Informações dos Produtos');
	

	
	$produto = cactux::combo_net('Produto:','campo_produto_',$a_mod[prod_nb_id],$a_mod[prod_tx_nome],5,array('busca_div.php?c=produto','busca_net.php?c=produto'),"  onFocus=abre_proximo('div_produto_',".($i+1).")");
	
	if($a_mod[list_tx_unidade]!='')
		$a_un=carregar('unidade','','unid_tx_status,unid_tx_nome',"!inativo,$a_mod[list_tx_unidade]");
	
	//echo"ENTROU!";
	
	$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]),1," 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, "  id=valor_un_".$i." onkeyup='mascara_reais(this);calcula_total(1)'  ");

	
	cactux::linha_fieldset($produto,$unidade,$qtde,$valor_un);
	cactux::linha_fieldset($voltar,$gravar,$finaliza);

	//$c1[] = cactux::texto('&nbsp;',"<div style='text-align:right'><B>VALOR TOTAL: $exibe_valor</B></div>",8);
	//$c1[] = cactux::campo('&nbsp;','valor_total',mostra_valor($a_comp[comp_tx_valor]),2, " id=valor_final".MASCARA_VALOR);
	//cactux::linha_fieldset($c1[0],$c1[1]);
	cactux::fecha_fieldset();

	campo_hidden('valor_total_hidden1','0');
	cactux::fecha_form();
	
	
	
	while( $a=carrega_array($sql) ) {

		$modificar=".icone_modificar($a[list_nb_id],modifica_produto)";
		$excluir=".icone_excluir($a[list_nb_id],exclui_produto)";
	
	
		$valores[]=array($a[list_nb_id],$a[prod_tx_nome],$a[list_tx_unidade],mostra_valor($a[list_tx_qtde]),mostra_valor($a[list_tx_valor]),mostra_valor($a[list_tx_valor]*$a[list_tx_qtde]),$modificar,$excluir);
	
		$total_qtde+=$a[list_tx_qtde];
		$total_valor+=$a[list_tx_valor];
		$total_total+=($a[list_tx_valor]*$a[list_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>",'','');
	$valor_total=cactux::campo_simples('valor_total',mostra_valor($total_total),2, "maxlength=14 onkeyup='mascara_reais(this);valor_final(this.value)' ");
	$valores[]=array('','','','','<b>TOTAL:</b>',"<b>".mostra_valor($total_total)."</b>",'','');
	
	$valores[]=array('','','','','<b>VALOR FINAL:</b>',$valor_total,'','');
	
	$cabecalho[]=array('COD','PRODUTO','UNIDADE','QUANTIDADE','VALOR UN','VALOR','','');
	$cabecalho[]='c,e,e,e,e,e,e';
	$cabecalho[]='5%,,15%,15%,15%,15%,2%,2%';

	cactux::acao_botao('voltar','modifica_compra','id',$_POST[id]);
	cactux::acao_botao('finaliza','finaliza_produto','id,total,valor_total_hidden2,',"$_POST[id],$total_total,$total_total");
	
	grid::gerar($cabecalho,$valores);
	
	//$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_finaliza_agrupado() {
global $CACTUX_CONF;

	
	$ids=$_POST[IDS_MOV];

	$a_compra=carregar('compra',$ids[0]);

	$venc_boleto=$_POST[venc_boleto];
	$valor_boleto=$_POST[valor_boleto];

	$a_compra=carregar('compra',$_POST[id]);
	$sql_movimento=selecionar('boleto,movimento','movi_tx_status,bole_tx_status',"ativo,!inativo"," AND movi_nb_compra='$ids[0]'",0);

	if(num_linhas($sql_movimento)>0 && $venc_boleto[0]=='' && $valor_boleto[0]=='' && $_POST[numeroNf]!=''){
	
		while($a_mov=carrega_array($sql_movimento)){
			
			$cam=array(movi_tx_valordoc,movi_tx_notafiscal);
			$val=array(($a_mov[movi_tx_valordoc]+valor($_POST[valorNf])),$a_mov[movi_tx_notafiscal]."; $_POST[numeroNf]");
			atualizar('movimento',$cam,$val,$a_mov[movi_nb_id]);
			
			$cam=array(bole_tx_obs);
			$val=array($a_mov[movi_tx_notafiscal]."; $_POST[numeroNf]");
			atualizar('boleto',$cam,$val,$a_mov[bole_nb_id]);
			
		
		}
		
		
	
	}
	//-----------------------------------------------------------------------
	

	if($_POST[planoconta] == '' || $_POST[planoconta] == 0  ){
	
		set_status('ERRO: Preecha todos os campos!');
		index();
		exit;
	
	}
	
	
	$ids=$_POST[IDS_MOV];

	$a_compra=carregar('compra',$ids[0]);
	
	$valor_boleto=$_POST[valor_boleto];
	$obs_boleto=$_POST[obs_boleto];
	$venc_boleto=$_POST[venc_boleto];
	$baixa=$_POST[baixa_boleto];
	
	$t_boleto = count($venc_boleto);
	
	// if( $_POST[numeroNf] != '' ) {
	
		// $sql_teste=selecionar('movimento','movi_tx_status',"!inativo"," AND movi_nb_ref='$a_compra[comp_nb_entidade]' AND movi_tx_notafiscal='$_POST[numeroNf]'");
		// if( num_linhas($sql_teste) > 0 ) {
		
			// set_status('ERRO: Nota fiscal já cadastrada!');
			// layout_finaliza();
			// exit;
		// }
		
	// }
	
	
	$parcelas=0;
	
	for($i=0;$i!=$t_boleto;$i++){

		$valor_vez = valor($valor_boleto[$i]);
		$venc_vez = gera_data($venc_boleto[$i],1);
		$obs_vez = $obs_boleto[$i];
	
		if( $valor_vez=='0'  || $venc_vez=='' || $venc_vez == '0000-00-00')
			continue;
		else
			$parcelas++;
	}
	
	// if( $parcelas == 0 ) {
		// set_status('ERRO: Cadastre as informações do boleto');
		// layout_finaliza();
		// exit;
	// }
	
	
	$diretorio = $_SERVER[DOCUMENT_ROOT] . $CACTUX_CONF['path'] . "arquivos/financeiro/";
	$arq = isset($_FILES['arquivo1']) ? $_FILES['arquivo1'] : FALSE; 
	if( $arq ) {
		
		$nome = $diretorio . $ids[0]."_notafiscal".substr($arq['name'],-4);
		
		$r = @move_uploaded_file($arq['tmp_name'], $nome);
		if( $r == 1 ) {
			$nota_autoriza = $nome;
		} 
		
	} 

	$arq = isset($_FILES['arquivo2']) ? $_FILES['arquivo2'] : FALSE; 
	if( $arq ) {
		
		$nome = $diretorio .$ids[0]."_boleto".substr($arq['name'],-4);
		
		$r = @move_uploaded_file($arq['tmp_name'], $nome);
		if( $r == 1 ) {
			$boleto_autoriza = $nome;
		}
	} 
	

	
	
	$campos=array(movi_tx_tipo,movi_nb_centrocusto,movi_nb_planoconta,movi_nb_ref,movi_tx_data,movi_tx_valordoc,
			movi_tx_notafiscal,movi_tx_parcelas,movi_tx_status,movi_tx_documento,movi_tx_arquivo,movi_nb_compra);
	$valores=array(Saída,$_POST[centro],$_POST[planoconta],$a_compra[comp_nb_entidade],gera_data("hoje",1),valor($_POST[valorNf]),
			$_POST[numeroNf],$parcelas,ativo,$_POST[documento],basename($nota_autoriza),$ids[0]);
	
	inserir('movimento',$campos,$valores,1);
	
	$movi=ultimo_reg('movimento');
	$parcelas2=$parcelas;
	$parcelas = 0;
	
	for($j=0; $j!=$t_boleto; $j++){
	
		$valor_vez = valor($valor_boleto[$j]);
		$venc_vez = gera_data($venc_boleto[$j],1);
		$obs_vez = $obs_boleto[$j];
	
		if( $valor_vez=='0'  || $venc_vez=='' || $venc_vez == '0000-00-00')
			continue;
		
		if( $_POST[numeroNf] != '' )
			$obs_vez1 = " NF: $_POST[numeroNf] ";
		
		if( $valor_vez!='0'  || $venc_vez!='' || $venc_vez != '0000-00-00')
			$parcela_obs_vez;
		
	
		$obs_vez2 = (++$parcela_obs)."/".$parcelas2."  "; 
		
		if($baixa[$j]==''){
			$campos=array(bole_nb_movimento,bole_tx_previsao,bole_tx_vencimento,bole_tx_parcela,bole_tx_status,bole_tx_obs,bole_tx_valordoc,bole_tx_dataCadastro,bole_nb_userCadastro);
			$valores=array($movi,$venc_vez,$venc_vez,++$parcelas,ativo,$obs_vez2.$obs_vez.$obs_vez1,$valor_vez,gera_data("hoje",1),$_SESSION[user_nb_id]);
			inserir('boleto',$campos,$valores,1);
			unset($obs_vez1,$obs_vez2);
		} else {
			$campos=array(bole_nb_movimento,bole_tx_previsao,bole_tx_vencimento,bole_tx_parcela,bole_tx_status,bole_tx_obs,bole_tx_valordoc,bole_tx_dataCadastro,bole_nb_userCadastro,bole_tx_valor,bole_tx_data);
			$valores=array($movi,$venc_vez,$venc_vez,++$parcelas,encerrado,$obs_vez1.$obs_vez2.$obs_vez,$valor_vez,gera_data("hoje",1),$_SESSION[user_nb_id],$valor_vez,$venc_vez);
			inserir('boleto',$campos,$valores,1);
			
			$ultimo_boleto=ultimo_reg('boleto');
			
			$valores2=array($ultimo_boleto,1,$valor_vez,$venc_vez,ativo,$_POST[planoconta]);
			$campos2=array(fobo_nb_boleto,fobo_nb_forma,fobo_tx_valor,fobo_tx_data,fobo_tx_status,fobo_nb_planoconta);
			inserir('fobo',$campos2,$valores2,1);
			
			unset($obs_vez1,$obs_vez2);
		
		
		}
	}
	

	$t_ids=count($ids);
	
	for($x=0;$x!=$t_ids;$x++){

		$campos=array(comp_tx_status,comp_tx_dataFinaliza,comp_nb_userFinaliza,comp_tx_notaAutoriza,comp_tx_boletoAutoriza,comp_nb_movimento,comp_tx_obsFinaliza);
		$valores=array(Finalizado,date("Y-m-d H:i:s"),$_SESSION[user_nb_id],$nota_autoriza,$boleto_autoriza,$movi,$_POST[obs_finaliza]);
		atualizar('compra',$campos,$valores,$ids[$x]);
	}
	
	
	
	if( $_POST[adicionar] == 'Não' ) {
		set_status('Compra finalizada com sucesso!');
		index();
	} else {
		set_status('Nota Fiscal Adicionado!');
		seleciona_layout_finaliza();
	}
	
	
	//set_status('Compra finalizada com sucesso!');
//	index();

	exit;
}



function cadastra_finaliza() {
	
	$venc_boleto=$_POST[venc_boleto];
	$valor_boleto=$_POST[valor_boleto];

	$a_compra=carregar('compra',$_POST[id]);
	$sql_movimento=selecionar('boleto,movimento','movi_tx_status,bole_tx_status',"ativo,!inativo"," AND movi_nb_compra='$_POST[id]'");
	if(num_linhas($sql_movimento)>0 && $venc_boleto[0]=='' && $valor_boleto[0]=='' && $_POST[numeroNf]!=''){
	
		while($a_mov=carrega_array($sql_movimento)){
			
			$cam=array(movi_tx_valordoc,movi_tx_notafiscal);
			$val=array(($a_mov[movi_tx_valordoc]+valor($_POST[valorNf])),$a_mov[movi_tx_notafiscal]."; $_POST[numeroNf]");
			atualizar('movimento',$cam,$val,$a_mov[movi_nb_id]);
			
			$cam=array(bole_tx_obs);
			$val=array($a_mov[movi_tx_notafiscal]."; $_POST[numeroNf]");
			atualizar('boleto',$cam,$val,$a_mov[bole_nb_id]);
			
		
		}
		
		
	
	}
	//-----------------------------------------------------------------------
	
	if($_POST[planoconta] == '' || $_POST[planoconta] == 0  ){
	
		set_status('ERRO: Preecha todos os campos!');
		seleciona_layout_finaliza();
		exit;
	
	}
	

	$a_compra=carregar('compra',$_POST[id]);
	
	$valor_boleto=$_POST[valor_boleto];
	$obs_boleto=$_POST[obs_boleto];
	$venc_boleto=$_POST[venc_boleto];
	$baixa=$_POST[baixa_boleto];
	
	
	$t_boleto = count($venc_boleto);
	
	// if($_POST[numeroNf]!=''){
		// $sql_teste=selecionar('movimento','movi_tx_status',"!inativo"," AND movi_nb_ref='$a_compra[comp_nb_entidade]' AND movi_tx_notafiscal='$_POST[numeroNf]'");
		// if(num_linhas($sql_teste)>0){
		
			// set_status('ERRO: Nota fiscal já cadastrada!');
			// layout_finaliza();
			// exit;
		
		
		// }
	// }
	
	
	$parcelas=0;
	
	for($i=0;$i!=$t_boleto;$i++){

		$valor_vez = valor($valor_boleto[$i]);
		$venc_vez = gera_data($venc_boleto[$i],1);
		$obs_vez = $obs_boleto[$i];
	
		if( $valor_vez=='0'  || $venc_vez=='' || $venc_vez == '0000-00-00')
			continue;
		else
			$parcelas++;
			
	}
	
	// if( $parcelas == 0 ) {
		// set_status('ERRO: Cadastre as informações do boleto');
		// layout_finaliza_original();
		// exit;
	// }
	
	
	

	$diretorio = $_SERVER[DOCUMENT_ROOT] . $CACTUX_CONF['path'] . "arquivos/financeiro/";
	$arq = isset($_FILES['arquivo1']) ? $_FILES['arquivo1'] : FALSE; 
	if( $arq ) {
		
		$nome = $diretorio . $_POST[id]."_notafiscal".substr($arq['name'],-4);
		
		$r = @move_uploaded_file($arq['tmp_name'], $nome);
		if( $r == 1 ) {
			$nota_autoriza = $nome;
		} 
		
	} 

	$arq = isset($_FILES['arquivo2']) ? $_FILES['arquivo2'] : FALSE; 
	if( $arq ) {
		
		$nome = $diretorio .$_POST[id]."_boleto".substr($arq['name'],-4);
		
		$r = @move_uploaded_file($arq['tmp_name'], $nome);
		if( $r == 1 ) {
			$boleto_autoriza = $nome;
		}
	} 
	

	
	
	$campos=array(movi_tx_tipo,movi_nb_centrocusto,movi_nb_planoconta,movi_nb_ref,movi_tx_data,movi_tx_valordoc,
			movi_tx_notafiscal,movi_tx_parcelas,movi_tx_status,movi_tx_documento,movi_tx_arquivo,movi_nb_compra);
	$valores=array(Saída,$_POST[centro],$_POST[planoconta],$a_compra[comp_nb_entidade],gera_data("hoje",1),valor($_POST[valorNf]),
			$_POST[numeroNf],$parcelas,ativo,$_POST[documento],basename($nota_autoriza),$_POST[id]);
	
	inserir('movimento',$campos,$valores,1);
	
	$movi=ultimo_reg('movimento');
	$parcelas2=$parcelas;
	$parcelas = 0;
	
	
	for($j=0; $j!=$t_boleto; $j++){
	
		$valor_vez = valor($valor_boleto[$j]);
		$venc_vez = gera_data($venc_boleto[$j],1);
		$obs_vez = $obs_boleto[$j];
	
		if( $valor_vez=='0'  || $venc_vez=='' || $venc_vez == '0000-00-00')
			continue;
		
		if( $_POST[numeroNf] != '' )
		$obs_vez1 = " NF: $_POST[numeroNf] ";
		
		if( $valor_vez!='0'  || $venc_vez!='' || $venc_vez != '0000-00-00')
			$parcela_obs_vez;
		
	
		$obs_vez2 = (++$parcela_obs)."/".$parcelas2."  "; 
		
		if($baixa[$j]==''){
			$campos=array(bole_nb_movimento,bole_tx_previsao,bole_tx_vencimento,bole_tx_parcela,bole_tx_status,bole_tx_obs,bole_tx_valordoc,bole_tx_dataCadastro,bole_nb_userCadastro);
			$valores=array($movi,$venc_vez,$venc_vez,++$parcelas,ativo,$obs_vez2.$obs_vez.$obs_vez1,$valor_vez,gera_data("hoje",1),$_SESSION[user_nb_id]);
			inserir('boleto',$campos,$valores,1);
			unset($obs_vez1,$obs_vez2);
		}else{
			$campos=array(bole_nb_movimento,bole_tx_previsao,bole_tx_vencimento,bole_tx_parcela,bole_tx_status,bole_tx_obs,bole_tx_valordoc,bole_tx_dataCadastro,bole_nb_userCadastro,bole_tx_valor,bole_tx_data);
			$valores=array($movi,$venc_vez,$venc_vez,++$parcelas,encerrado,$obs_vez2.$obs_vez.$obs_vez1,$valor_vez,gera_data("hoje",1),$_SESSION[user_nb_id],$valor_vez,$venc_vez);
			inserir('boleto',$campos,$valores,1);
			
			$ultimo_boleto=ultimo_reg('boleto');
			
			$valores2=array($ultimo_boleto,1,$valor_vez,$venc_vez,ativo,$_POST[planoconta]);
			$campos2=array(fobo_nb_boleto,fobo_nb_forma,fobo_tx_valor,fobo_tx_data,fobo_tx_status,fobo_nb_planoconta);
			inserir('fobo',$campos2,$valores2,1);
			
			unset($obs_vez1,$obs_vez2);
		
		
		}
	}
	

	$sql = selecionar('listacompra','list_nb_compra,list_tx_status',"$_POST[id],ativo"," AND list_tx_recebido > 0 ");
	while( $a = carrega_array($sql) ) {
		
		$t_recebido+=$a[list_tx_recebido];
		$t_qtde+=$a[list_tx_qtde];
		
		$campos=array(list_tx_status);
		$valores=array(encerrado);
		atualizar('listacompra',$campos,$valores,$a[0]);

		$CAMPO_QTDE = "prod_tx_qtde";

		query("UPDATE produto SET ".$CAMPO_QTDE."=".$CAMPO_QTDE."+".$a[list_tx_recebido]." WHERE prod_nb_id='$a[list_nb_produto]' ");
//		echo "UPDATE produto SET ".$CAMPO_QTDE."=".$CAMPO_QTDE."+".$a[list_tx_recebido]." WHERE prod_nb_id='$a[list_nb_produto]' <br>";
		
	}

	if($t_recebido != $t_qtde){
		$status_comp="Pendente";
	} else {
		$status_comp="Finalizado";
	}
	


	$campos=array(comp_tx_status,comp_tx_dataFinaliza,comp_nb_userFinaliza,comp_tx_notaAutoriza,comp_tx_boletoAutoriza,comp_nb_movimento,comp_tx_obsFinaliza);
	$valores=array($status_comp,date("Y-m-d H:i:s"),$_SESSION[user_nb_id],$nota_autoriza,$boleto_autoriza,$movi,$_POST[obs_finaliza]);
	atualizar('compra',$campos,$valores,$_POST[id]);
	
	
	$_POST[boleto]=$ultimo_boleto;
	
	if($_POST[frete]=='Sim'){
		$_POST[id] = $_POST[id];
		layout_frete();
		exit;
	}
	if($_POST[adicionar]=='Não'){
		set_status('Compra finalizada com sucesso!');
		index();
	}else{
		set_status('Nota Fiscal Adicionado!');
		layout_finaliza_original();
	
	}
	exit;
	
	

	
}



function layout_frete(){

	cabecalho('',2);
	
	cactux::abre_form('upload');
	
	$sql = selecionar('movimento,compra.entidade','movi_tx_notafiscal,movi_tx_status,enti_nb_id',"$_POST[numeroNf],ativo,.comp_nb_entidade");
	$a = carrega_array($sql);
	
	$t[] = cactux::texto('Compra:',$a[comp_nb_id],2);
	$t[] = cactux::texto('Entidade:',$a[enti_tx_nome],3);
	$t[] = cactux::texto('Data Autorização:',data($a[comp_tx_dataAutoriza],1),3);
	$t[] = cactux::texto('Situação:',$a[comp_tx_status],2);
	
	
	cactux::abre_fieldset('Informações da Compra');
	cactux::linha_fieldset($t[0],$t[1],$t[2],$t[3]);
	cactux::fecha_fieldset();
	echo"<br>";
	
	$c[] = cactux::combo_net('Transportadora:','nome',$_POST[busca_nome],$_POST[nome_busca_nome],5,array('../compra/busca_div.php?c=entidade','../compra/busca_net.php?c=entidade'));
	$c[]=cactux::campo('Nota Fiscal:','nf','',2);
	$c[] = cactux::campo_arquivo('NF Digitalizado:','arquivo_frete',3);
	$c[]=cactux::campo('Vencimento:','data','',2, MASCARA_DATA);
	$c[]=cactux::campo('Valor:','valor','',2, MASCARA_VALOR);
	//$c[]=cactux::combo('Opção de Baixa:','baixa2',array('','Baixar'),'',2);
	
	$voltar=cactux::botao('Voltar',2,'voltar');
	$gravar=cactux::botao_submit('Gravar',2,'gravar_frete','id',$_POST[id]);
	
	
	cactux::abre_fieldset('Dados do Frete');
	cactux::linha_fieldset($c[0],$c[1],$c[2]);
	cactux::linha_fieldset($c[3],$c[4],$c[5]);
	cactux::linha_fieldset($voltar,$gravar);
	cactux::fecha_fieldset();
	
	
	cactux::fecha_form();

	cactux::acao_botao('voltar','index');

}


function gravar_frete(){

	global $CACTUX_CONF;

	$valor_boleto=$_POST[valor_boleto];
	$obs_boleto=$_POST[obs_boleto];
	$venc_boleto=$_POST[venc_boleto];
	$baixa=$_POST[baixa_boleto];
	
	$a_compra=carregar('compra,movimento',$_POST[id]);
	
	$_POST[centro]=$a_compra[movi_nb_centrocusto];
	$_POST[planoconta]=$a_compra[movi_nb_planoconta];
	$_POST[documento]=$a_compra[movi_tx_documento];
	
	$boleto=carregar('boleto','','bole_nb_movimento',"$a_compra[movi_nb_id]");
	
	
	$anexo=$_FILES[arquivo_frete];
	
	
	// $diretorio = $_SERVER[DOCUMENT_ROOT] . $CACTUX_CONF['path'] . "arquivos/financeiro/";
	// $arq = isset($_FILES['arquivo_frete']) ? $_FILES['arquivo_frete'] : FALSE; 
	// if( $arq ) {
		
	// 	$nome = $diretorio . $_POST[id]."_notafiscal_frete".substr($arq['name'],-4);
		
	// 	$r = @move_uploaded_file($arq['tmp_name'], $nome);
	// 	if( $r == 1 ) {
	// 		$nota_autoriza = $nome;
	// 	} 
		
	// }


	
		
	//DADOS DA TABELA ANEXO
	$campos = array(anex_tx_nome, anex_nb_movimento, anex_tx_tipo,anex_tx_status);
	$valores = array("Nota fiscal do frete referente a compra $_POST[id]",$a_compra[movi_nb_id],'compra',ativo);
	
	
	//INSERIR
	$campos = array_merge($campos,array(anex_nb_userCadastro, anex_tx_dataCadastro));
	$valores = array_merge($valores,array($_SESSION[user_nb_id],date("Y-m-d H:i:s")));
	inserir('anexo',$campos,$valores,1);
	$_POST[id_anexo]=ultimo_reg('anexo');
	

	// $_POST[titulo]=ereg_replace("[^a-zA-Z0-9_]", "", strtr($_POST[titulo], "áàãâéêíóôõúüçÁÀÃÂÉÊÍÓÔÕÚÜÇ ", "aaaaeeiooouucAAAAEEIOOOUUC_"));
	// $_POST[titulo]=str_replace(" ", "_", $_POST[titulo]);
	//$_POST[titulo]=substr($_POST[titulo],0,-3);
	$_POST[titulo]="Frete";
		
	//GUARDAR O ANEXO
	if( $anexo[name] != '') {
		// CRIA O DIRETÓRIO PARA GUARDAR OS ANEXOS DA COMPRA, ATRAVÉS DO ID DO MOVIMENTO
		//@mkdir("$_SERVER[DOCUMENT_ROOT]/$CACTUX_CONF[path]/arquivos/anexos/$a_compra[movi_nb_id]");
		
		//GUARDA O ARQUIVO DENTRO DA PASTA DO ID DO MOVIMENTO, SALVA COM O NOME DO TÍTULO E O ID DO MOVIMENTO
		$msg = enviar('arquivo_frete',$CACTUX_CONF[path].'/arquivos/anexos/'.$a_compra[movi_nb_id].'-'.$_POST[titulo],1); 
		
		set_status('Anexo Cadastrado com Sucesso!');
		
		// GUARDA O NOME DO ARQUIVO ORIGINAL NA TAVELA ANEXO
		if( !bd_erro($msg) ) {
			$envia_campos = 'anex_tx_arquivo';		
			$envia_valores = basename($msg);
			atualizar('anexo',$envia_campos,$envia_valores,$_POST[id_anexo]);
		}
	}


	
	
	
	$campos=array(movi_tx_tipo,movi_nb_centrocusto,movi_nb_planoconta,movi_nb_ref,movi_tx_data,movi_tx_valordoc,
			movi_tx_notafiscal,movi_tx_parcelas,movi_tx_status,movi_tx_documento,movi_tx_arquivo,movi_nb_compra);
	$valores=array(Saída,$_POST[centro],$_POST[planoconta],$_POST[nome],gera_data("hoje",1),valor($_POST[valor]),
			$_POST[nf],1,ativo,$_POST[documento],basename($nota_autoriza),$_POST[id]);
	
	inserir('movimento',$campos,$valores,1);
	
	$movi=ultimo_reg('movimento');

	
	if($_POST[baixa2]==''){
			$campos=array(bole_nb_movimento,bole_tx_previsao,bole_tx_vencimento,bole_tx_parcela,bole_tx_status,bole_tx_obs,bole_tx_valordoc,bole_tx_dataCadastro,bole_nb_userCadastro);
			$valores=array($movi,gera_data($_POST[data],1),gera_data($_POST[data],1),++$parcelas,ativo,"Nf:$_POST[nf]-Pagamento de frete referênte ao boleto $boleto[bolenb_id]",valor($_POST[valor],1),gera_data("hoje",1),$_SESSION[user_nb_id]);
			inserir('boleto',$campos,$valores,1);
			unset($obs_vez1,$obs_vez2);
		}else{
			$campos=array(bole_nb_movimento,bole_tx_previsao,bole_tx_vencimento,bole_tx_parcela,bole_tx_status,bole_tx_obs,bole_tx_valordoc,bole_tx_dataCadastro,bole_nb_userCadastro,bole_tx_valor,bole_tx_data);
			$valores=array($movi,gera_data($_POST[data],1),gera_data($_POST[data],1),++$parcelas,encerrado,"Nf:$_POST[nf]-Pagamento de frete referênte ao boleto $boleto[bole_nb_id]",valor($_POST[valor],1),gera_data("hoje",1),$_SESSION[user_nb_id],valor($_POST[valor],1),gera_data($_POST[data],1));
			inserir('boleto',$campos,$valores,1);
			
			$ultimo_boleto=ultimo_reg('boleto');
			
			$valores2=array($ultimo_boleto,1,valor($_POST[valor],1),gera_data($_POST[data],1),ativo,$_POST[planoconta]);
			$campos2=array(fobo_nb_boleto,fobo_nb_forma,fobo_tx_valor,fobo_tx_data,fobo_tx_status,fobo_nb_planoconta);
			inserir('fobo',$campos2,$valores2,1);
			
			unset($obs_vez1,$obs_vez2);
		
		
		}
		
		index();
		exit;



}



function remover_movimento(){




	$a_movimento=carregar('boleto,movimento',$_POST[id]);
	
	remover('movimento',$a_movimento[bole_nb_movimento]);
	remover('boleto',$_POST[id]);
	
	$_POST[id]=$a_movimento[movi_nb_compra];
	
	layout_finaliza_original();
	exit;




}


function layout_finaliza_original() {
	global $a_mod;
	
	if($_POST[id]==''){
		$id=ids_agrupados($_POST[ids_agrupados]);
		$_POST[id]=$id[0];
	}
	
	$a_comp = carregar('compra,setor,entidade.user',$_POST[id],"comp_nb_userCadastro",".user_nb_id");
	$a_auto = carregar('user',$a_comp[comp_nb_userGestor]);
	$a_movimento=carregar('movimento',$a_comp[comp_nb_movimento]);
	
	$a_plano = carregar('planoconta',$a_comp[enti_nb_planoconta]);
	
	

	
	cabecalho('Recebimento de Compra',2);
	
//	frame_interno(1);
	
	cactux::abre_form('upload');
	
	$t1[] = cactux::texto('Código:',zeros($a_comp[comp_nb_id],3),2);
	$t1[] = cactux::texto('Setor:',$a_comp[seto_tx_nome],2);
	$t1[] = cactux::texto('Comprador:',$a_comp[user_tx_nome],4);
	

	$t2[] = cactux::texto('Fornecedor:',$a_comp[enti_tx_nome],4);
	$t2[] = cactux::texto('Descrição:',$a_comp[comp_tx_obsCadastro],4);
//	$t2[] = cactux::texto('Valor:',mostra_valor($a_comp[comp_tx_valor],1),2);

	$t3[] = cactux::texto('Situação:',$a_comp[comp_tx_status],2);
	$t3[] = cactux::texto('Autorizado Por:',$a_auto[user_tx_nome],2);
	$t3[] = cactux::texto('Observação:',$a_comp[comp_tx_obsAutoriza],4);
	$t3[] = cactux::texto('Arquivo:',"",2);
	
	$c[] = cactux::campo('Número NF:','numeroNf','',2," onblur=valida_notafiscal(this.value,".$a_comp[enti_nb_id].") ");
	$c[] = cactux::campo('Valor NF:','valorNf','',2,MASCARA_VALOR);
	$c[] = cactux::combo_bd('Centro de Custo:','centro',$a_centro[cent_nb_id],$a_centro[cent_tx_nome],3,'centrocusto','',".nome");
	//$c[] = cactux::combo_net('Plano Conta:','planoconta',$a_plano[plan_nb_id],$a_plano[plan_tx_nome],3,array("busca_div.php?c=planoconta","busca_net.php?c=planoconta"));
	$c[] = cactux::combo_bd('!Plano Conta:','planoconta',$a_plano[plan_nb_id],$a_plano[plan_tx_nome],3,'planoconta');
	$c[] = cactux::textarea('Descrição:','obs_finaliza',$a_comp[comp_tx_obsFinaliza],10,3);
	
	$c[] = cactux::campo_arquivo('NF Digitalizado:','arquivo1',5);
	//$c[] = cactux::campo_arquivo('Boletos Digitalizados:','arquivo2',5);
	$c[]=cactux::combo('Documento:','documento',array('','Carteira','Boleto','Transferência'),$a_movimento[movi_tx_documento],2);
	$c[]=cactux::combo('Adicionar Nota Fiscal:','adicionar',array('Não','Sim'),$a_movimento[movi_nb_compra],2);
	$frete=cactux::combo('Frete:','frete',array('Não','Sim'),'',2);
	
	//$c4[] = cactux::combo_bd('Plano Conta:','planoconta',$a_plano[0],$a_plano[1],3,'planoconta','',".nome");
	

	
	cactux::abre_fieldset('Informações da Finalização');
	cactux::linha_fieldset($t1[0],$t1[1],$t1[2],$t1[3]);
	cactux::linha_fieldset($t2[0],$t2[1],$t2[2]);
//	cactux::linha_fieldset($t3[0],$t3[1],$t3[2],$t3[3]);
	
	cactux::linha_fieldset($c[0],$c[1],$c[2],$c[3]);
	cactux::linha_fieldset($c[4]);
	cactux::linha_fieldset($c[5],$c[6],$c[7],$frete);

	for($i=0; $i!=24; $i++) {
		
		$c1 = cactux::campo('Vencimento Boleto:','venc_boleto[]','',2, MASCARA_DATA." onFocus=abre_proximo('div_boleto_',".($i+1).")");
		$c2 = cactux::campo('Valor Boleto:','valor_boleto[]','',2,MASCARA_VALOR." onFocus=abre_proximo('div_boleto_',".($i+1).")");
		$c3 = cactux::campo('Descrição Boleto:','obs_boleto[]','',6," onFocus=abre_proximo('div_boleto_',".($i+1).")");
		//$c4 = cactux::combo('Opção de Baixa:','baixa_boleto[]',array('','Baixar'),'',2," onFocus=abre_proximo('div_boleto_',".($i+1).")");
		
		
		if( $i == 0 )	$display='block';	else	$display='none';

		echo "<div id=div_boleto_".$i." style='display:$display'>";
		cactux::linha_fieldset($c1,$c2,$c3,$c4);		
		echo "</div>";
		
	}

	$finaliza=cactux::botao_submit('Gravar',2,'cadastra_finaliza','id',"$_POST[id]");
	$voltar=cactux::botao('Voltar',2,'voltar');
	$status = cactux::msg_status();

	cactux::fecha_fieldset();
	

	
	cactux::linha_fieldset($voltar,$finaliza,$status);

	
	
	$cabeca[] = array('','PRODUTO','UNIDADE','QUANTIDADE','VALOR UN.','VALOR');
	$cabeca[] = 'c,e,c,d,d,d';
	$cabeca[] = '5%,,10%,10%,10%,10%,10%';

	$sql=selecionar('listacompra,compra,produto','list_nb_compra,list_tx_status',"$_POST[id],!inativo"," ORDER BY prod_tx_nome,list_nb_id");
	while( $a=carrega_array($sql) ) {
		
		$valor = $a[list_tx_valor]*$a[list_tx_qtde];
		$valor_total += $valor;
		
		
		$valores[] = array(++$j,$a[prod_tx_nome],$a[list_tx_unidade],mostra_valor($a[list_tx_recebido],1),mostra_valor($a[list_tx_valor],1),mostra_valor($valor));
		
	}
	if(mostra_valor($a_comp[comp_tx_valor],1) != mostra_valor($valor_total,1))
		$valores[]=array('','','','','<B>SUB-TOTAL:','<B>'.mostra_valor($valor_total,1));
	
	
	$valores[]=array('','','','','<B>TOTAL:','<B>'.mostra_valor($a_comp[comp_tx_valor],1));
	
	grid::gerar($cabeca,$valores);



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


	// ------------------------------------------------------------
	// GRID COM AS NOTAS FISCAIS (MOVIMENTO) CADASTRADAS
	// ------------------------------------------------------------
	$sql_movimento=selecionar('boleto,movimento','movi_tx_status',"ativo"," AND movi_nb_compra='$_POST[id]' GROUP BY movi_nb_id");
	if( num_linhas($sql_movimento) > 0 ) {
	
		while( $a_mov = carrega_array($sql_movimento) ) {
		
			$total_valores_mov += $a_mov[movi_tx_valordoc];
			$remover_mov=".icone_excluir($a_mov[bole_nb_id],remover_movimento);";
		
			$valores2[]=array($a_mov[bole_nb_id],$a_mov[movi_tx_notafiscal],mostra_valor($a_mov[movi_tx_valordoc]),$remover_mov);
		
		}
		
		$valores2[]=array('','<b>TOTAL:</b>',"<b>".mostra_valor($total_valores_mov),'');
		
		$cabeca2[] = array('','NOTA FISCAL','VALOR','');
		$cabeca2[] = 'e,e,e,e';
		$cabeca2[] = '5%,40%,,2%';
		$cabeca2[] = '50%';
	
		
		grid::gerar($cabeca2,$valores2);
		
	}



	javascript("

	function abre_proximo(nome,id_proximo) {

		document.getElementById(nome+id_proximo).style.display='block';	
		
	}
	
	
	function valida_notafiscal(nf,entidade) {

		if( nf != '' && nf != ' ' )
			frame_interno('requisicao.php?".cactux_cookie::url_sistema()."&acao=verifica_notafiscal&nf='+nf+'&enti='+entidade);
		
	}
	

	");
	
	rodape();
	
}


function layout_recebimento_produto() {
	global $a_mod;
	
	
	$a_comp = carregar('compra,setor,entidade.user',$_POST[id],"comp_nb_userCadastro",".user_nb_id");
	$a_auto = carregar('user',$a_comp[comp_nb_userGestor]);
	$a_movimento=carregar('movimento',$a_comp[comp_nb_movimento]);
	
	$a_plano = carregar('planoconta',$a_comp[enti_nb_planoconta]);
	$a_centro= carregar('centrocusto',$a_comp[enti_nb_centrocusto]);
	

	
	cabecalho('Recebimento de Compra',2);
	
//	frame_interno(1);
	
	cactux::abre_form();
	
	$t1[] = cactux::texto('Código:',zeros($a_comp[comp_nb_id],3),2);
	$t1[] = cactux::texto('Setor:',$a_comp[seto_tx_nome],2);
	$t1[] = cactux::texto('Comprador:',$a_comp[user_tx_nome],4);
	

	$t2[] = cactux::texto('Fornecedor:',$a_comp[enti_tx_nome],4);
	$t2[] = cactux::texto('Descrição:',$a_comp[comp_tx_obsCadastro],4);
//	$t2[] = cactux::texto('Valor:',mostra_valor($a_comp[comp_tx_valor],1),2);

	$t3[] = cactux::texto('Situação:',$a_comp[comp_tx_status],2);
	$t3[] = cactux::texto('Autorizado Por:',$a_auto[user_tx_nome],2);
	$t3[] = cactux::texto('Observação:',$a_comp[comp_tx_obsAutoriza],4);
	$t3[] = cactux::texto('Arquivo:',"",2);
	

	
	cactux::abre_fieldset('Informações da Finalização');
	cactux::linha_fieldset($t1[0],$t1[1],$t1[2],$t1[3]);
	cactux::linha_fieldset($t2[0],$t2[1],$t2[2]);
//	cactux::linha_fieldset($t3[0],$t3[1],$t3[2],$t3[3]);

	$finaliza=cactux::botao_submit('Gravar',2,'cadastra_recebimento_produto','id',"$_POST[id]");
	$voltar=cactux::botao('Voltar',2,'voltar');
	$status = cactux::msg_status();

	cactux::fecha_fieldset();
	

	
	cactux::linha_fieldset($voltar,$finaliza,$status);

	
	
	$cabeca[] = array('','PRODUTO','UNIDADE','QUANTIDADE','QTDE RECEBIDA','VALOR UN.','VALOR');
	$cabeca[] = 'c,e,c,d,d,d';
	$cabeca[] = '5%,,10%,10%,10%,10%,10%';

	$sql=selecionar('listacompra,compra,produto','list_nb_compra,list_tx_status',"$_POST[id],ativo"," ORDER BY prod_tx_nome,list_nb_id");
	while( $a=carrega_array($sql) ) {
		
		
		if( $a[list_tx_recebido] > 0 ){
			$qtde = $a[list_tx_recebido];
			$valor = $a[list_tx_valor]*$a[list_tx_qtde];
		}
		else{
			$valor = $a[list_tx_valor]*$a[list_tx_qtde];
			$qtde = $a[list_tx_qtde];
		}
		
		$valor_total += $valor;

		$campo = "<input type=text name=qtde_recebida[] value='".mostra_valor($qtde,1)."' style='width:100%; text-align:right;' ".MASCARA_VALOR.">
		<input type=hidden name=id_lista_recebida[] value='$a[list_nb_id]'><input type=hidden name=id_prod_recebida[] value='$a[list_nb_produto]'>";
		
		
		$valores[] = array(++$j,$a[prod_tx_nome],$a[list_tx_unidade],mostra_valor($a[list_tx_qtde],1),$campo,mostra_valor($a[list_tx_valor],1),mostra_valor($valor));
		
	}
	if(mostra_valor($a_comp[comp_tx_valor],1) != mostra_valor($valor_total,1))
		$valores[]=array('','','','','','<B>SUB-TOTAL:','<B>'.mostra_valor($valor_total,1));
	
	
	$valores[]=array('','','','','','<B>TOTAL:','<B>'.mostra_valor($a_comp[comp_tx_valor],1));
	
	grid::gerar($cabeca,$valores);



	cactux::fecha_form();
	cactux::acao_botao('voltar','index');


	rodape();
	
}


function layout_finaliza() {
	global $a_mod;
		



// echo "qwrqwrqwer";
	$IDS_MOV = ids_agrupados($_POST[ids_agrupados]);
	
	$t_ids=count($IDS_MOV);
	
	cabecalho('Requisição de Compra',2);
	
	cactux::abre_form('upload');
	
		
		
	cactux::abre_fieldset('Informações da Finalização');
	
	for($y=0;$y!=$t_ids;$y++){
	
	campo_hidden('IDS_MOV[]',$IDS_MOV[$y]);
		
		
		if($y==0)
			$extra.=" list_nb_compra='$IDS_MOV[$y]'";
		else
			$extra.=" OR list_nb_compra='$IDS_MOV[$y]'";
		
		$a_comp = carregar('compra,setor,entidade.user',$IDS_MOV[$y],"comp_nb_userCadastro",".user_nb_id");
		$a_auto = carregar('user',$a_comp[comp_nb_userGestor]);
		$a_movimento=carregar('movimento',$a_comp[comp_nb_movimento]);
		
		$a_plano = carregar('planoconta',$a_comp[enti_nb_planoconta]);
		$a_centro= carregar('centrocusto',$a_comp[enti_nb_centrocusto]);
		
		
		$t11 = cactux::texto('Código:',zeros($a_comp[comp_nb_id],3),1);
		$t12 = cactux::texto('Data:',data($a_comp[comp_tx_dataCadastro],1),1);
		$t13 = cactux::texto('Descrição:',$a_comp[comp_tx_obsCadastro],3);
		$t15 = cactux::texto('Observação:',$a_comp[comp_tx_obsAutoriza],4);
//		$t14 = cactux::texto('Situação:',$a_comp[comp_tx_status],1);
		$t14 = cactux::texto('Valor:',mostra_valor($a_comp[comp_tx_valor],1),1);
		
		cactux::linha_fieldset($t11,$t12,$t13,$t15,$t14);
		
	}

	
	
	
	$t2[] = cactux::texto('Setor:',$a_comp[seto_tx_nome],2);
	$t2[] = cactux::texto('Comprador:',$a_comp[user_tx_nome],4);
	$t2[] = cactux::texto('Fornecedor:',$a_comp[enti_tx_nome],4);
//	$t2[] = cactux::texto('Valor:',mostra_valor($a_comp[comp_tx_valor],1),2);

	$t2[] = cactux::texto('Autorizado Por:',$a_auto[user_tx_nome],2);
	$t2[] = cactux::texto('Arquivo:',"",2);
	
	$c[] = cactux::campo('Número NF:','numeroNf','',2," onblur=valida_notafiscal(this.value,".$a_comp[enti_nb_id].") ");
	$c[] = cactux::campo('Valor NF:','valorNf','',2,MASCARA_VALOR);
	$c[] = cactux::combo_bd('Centro de Custo:','centro',$a_centro[cent_nb_id],$a_centro[cent_tx_nome],3,'centrocusto','',".nome");
	$c[] = cactux::combo_net('Plano Conta:','planoconta',$a_plano[plan_nb_id],$a_plano[plan_tx_nome],3,array("busca_div.php?c=planoconta","busca_net.php?c=planoconta"));
	$c[] = cactux::textarea('Descrição:','obs_finaliza',$a_comp[comp_tx_obsFinaliza],10,3);
	
	$c[] = cactux::campo_arquivo('NF Digitalizado:','arquivo1',5);
	//$c[] = cactux::campo_arquivo('Boletos Digitalizados:','arquivo2',5);
	$c[]=cactux::combo('Documento:','documento',array('','Carteira','Boleto','Transferência'),$a_movimento[movi_tx_documento],2);
	$c[]=cactux::combo('Adicionar Nota Fiscal:','adicionar',array('','Adicionar Nota Fiscal'),$a_movimento[movi_nb_compra],3);
	
	//$c4[] = cactux::combo_bd('Plano Conta:','planoconta',$a_plano[0],$a_plano[1],3,'planoconta','',".nome");
	

	
	
	cactux::linha_fieldset($t2[0],$t2[1],$t2[2]);
	cactux::linha_fieldset($t2[3],$t2[4]);
	
	cactux::linha_fieldset($c[0],$c[1],$c[2],$c[3]);
	cactux::linha_fieldset($c[4]);
	cactux::linha_fieldset($c[5],$c[6],$c[7]);

	for($i=0; $i!=24; $i++) {
		
		$c1 = cactux::campo('Vencimento Boleto:','venc_boleto[]','',2, MASCARA_DATA." onFocus=abre_proximo('div_boleto_',".($i+1).")");
		$c2 = cactux::campo('Valor Boleto:','valor_boleto[]','',2,MASCARA_VALOR." onFocus=abre_proximo('div_boleto_',".($i+1).")");
		$c3 = cactux::campo('Descrição Boleto:','obs_boleto[]','',5," onFocus=abre_proximo('div_boleto_',".($i+1).")");
		
		
		if( $i == 0 )	$display='block';	else	$display='none';

		echo "<div id=div_boleto_".$i." style='display:$display'>";
		cactux::linha_fieldset($c1,$c2,$c3);		
		echo "</div>";
		
	}

	$finaliza=cactux::botao_submit('Gravar',2,'cadastra_finaliza_agrupado','id,ids_agrupados',"$_POST[id],$_POST[ids_agrupados]");
	$voltar=cactux::botao('Voltar',2,'voltar');

	$status = cactux::msg_status();

	cactux::fecha_fieldset();
	

	
	cactux::linha_fieldset($voltar,$finaliza,$status);

	cactux::fecha_form();
	cactux::acao_botao('voltar','index');
	
	
	// ------------------------------------------------------------
	// GRID COM AS NOTAS FISCAIS (MOVIMENTO) CADASTRADAS
	// ------------------------------------------------------------
	$extra_id = implode(",",$IDS_MOV);
	$sql_movimento=selecionar('boleto,movimento','movi_tx_status',"ativo"," AND movi_nb_compra IN ('$extra_id') GROUP BY movi_nb_id");
	if( num_linhas($sql_movimento) > 0 ) {
	
		while( $a_mov = carrega_array($sql_movimento) ) {
		
			$total_valores_mov += $a_mov[movi_tx_valordoc];
			$remover_mov=".icone_excluir($a_mov[bole_nb_id],remover_movimento);";
		
			$valores2[]=array($a_mov[bole_nb_id],$a_mov[movi_tx_notafiscal],mostra_valor($a_mov[movi_tx_valordoc]),$remover_mov);
		
		}
		
		$valores2[]=array('','<b>TOTAL:</b>',"<b>".mostra_valor($total_valores_mov),'');
		
		$cabeca2[] = array('','NOTA FISCAL','VALOR','');
		$cabeca2[] = 'e,e,e,e';
		$cabeca2[] = '5%,40%,,2%';
		$cabeca2[] = '50%';
	
		
		grid::gerar($cabeca2,$valores2);
		
	}
	
	
	
	
	$cabeca[] = array('','PRODUTO','QUANTIDADE','VALOR UN.','VALOR');
	$cabeca[] = 'c,e,d,d,d';
	$cabeca[] = '5%,,10%,10%,10%';

	$sql=selecionar('listacompra,compra,produto','list_tx_status',"ativo"," AND ( $extra ) ORDER BY prod_tx_nome,list_nb_id",0);
	while( $a=carrega_array($sql) ) {
		
		$valor = $a[list_tx_valor]*$a[list_tx_qtde];
		$valor_total += $valor;
		
		$valores[] = array(++$j,$a[prod_tx_nome],mostra_valor($a[list_tx_qtde],1),mostra_valor($a[list_tx_valor],1),mostra_valor($valor));
		
	}
	//if(mostra_valor($a_comp[comp_tx_valor],1) != mostra_valor($valor_total,1))
	//	$valores[]=array('','','','<B>SUB-TOTAL:','<B>'.mostra_valor($valor_total,1));
	
	
	$valores[]=array('','','','<B>TOTAL:','<B>'.mostra_valor($valor_total,1));
	
	grid::gerar($cabeca,$valores);



	javascript("
	
	function abre_proximo(nome,id_proximo) {

		document.getElementById(nome+id_proximo).style.display='block';	
		
	}


	
	function valida_notafiscal(nf,entidade) {

		if( nf != '' && nf != ' ' )
			frame_interno('requisicao.php?".cactux_cookie::url_sistema()."&acao=verifica_notafiscal&nf='+nf+'&enti='+entidade);
		
	}
	
	
	
	");
	
	rodape();
	
}


function layout_compra() {
	global $a_mod;
	
	

	cabecalho('Requisição de Compra',2);

	cactux::abre_form();
	if($_SESSION[user_tx_nivel]!="Comprador" || $_SESSION[user_tx_nivel]!="Informatica")
		$c[] = cactux::combo_bd('!Setor:','setor',$a_mod[seto_nb_id],$a_mod[seto_tx_nome],3,'setor','',"1  ORDER BY seto_tx_nome");
	else{
		$c[] = cactux::combo_bd('Setor:','setor',$a_mod[seto_nb_id],$a_mod[seto_tx_nome],3,'setor',''," 1 AND seto_nb_id=$_SESSION[user_nb_setor]");
	}
	$c[] = cactux::combo_net('Fornecedor:','fornecedor',$a_mod[enti_nb_id],$a_mod[enti_tx_nome],5,array('busca_div.php?c=fornecedor','busca_net.php?c=fornecedor'));
//	$c[] = cactux::campo('Valor Total:','valor',mostra_valor($a_mod[comp_tx_valor]),2, MASCARA_VALOR);
	$c[] = cactux::campo('Data:','data',date("d/m/Y"),2, "disabled=disabled");
	
	$c1[] = cactux::textarea('Descrição/Forma de Pagamento:','obs',$a_mod[comp_tx_obsCadastro],10,3);
	
	$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]);
	cactux::linha_fieldset($c1[0]);
	cactux::linha_fieldset($voltar,$avancar,$status);
	cactux::fecha_fieldset();
	
	cactux::fecha_form();
	
	cactux::acao_botao('voltar','index');
	
}



function layout_imprime(){

	$a_comp=carregar('compra,setor,entidade.user',$_POST[id],'',""," AND user_nb_id=comp_nb_userCadastro");

	
	if( $a_comp[comp_tx_status]!='Solicitado' && $a_comp[comp_tx_status]!='Negado' )
		cabecaRelatorioVenda('Recebimento de Compra');
	else
		cabecaRelatorioVenda('Solicitação de Compra');
	
	
	cactux::fecha_form();
		
	$t1[] = cactux::texto('Código:',zeros($a_comp[comp_nb_id],3),2);
	$t1[] = cactux::texto('Setor:',$a_comp[seto_tx_nome],2);
	$t1[] = cactux::texto('Comprador:',$a_comp[user_tx_nome],4);
	$t1[] = cactux::texto('Data:',data($a_comp[comp_tx_dataCadastro],1),2);

	$t2[] = cactux::texto('Fornecedor:',$a_comp[enti_tx_nome],4);
	$t2[] = cactux::texto('Descrição/Forma de Pagamento:',$a_comp[comp_tx_obsCadastro],4);
	
//	$t2[] = cactux::texto('Valor:',"R$ ".mostra_valor($a_comp[comp_tx_valor],1),2);

	cactux::abre_fieldset('Informações da Compra');
	cactux::linha_fieldset($t1[0],$t1[1],$t1[2],$t1[3]);
	cactux::linha_fieldset($t2[0],$t2[1],$t2[2]);
	cactux::fecha_fieldset();
	

	
	$cabecalho[]=array('PRODUTO','UNIDADE','QUANTIDADE','QTDE. RECEBIDA','VALOR UNITÁRIO','VALOR TOTAL');
	$cabecalho[]='e,e,e,e,c,c,c';
	$cabecalho[]=',15%,15%,15%,15%,15%';
	$cabecalho[]='98%';
	
	
	$sql=selecionar('listacompra,compra,produto','list_nb_compra,list_tx_status,list_tx_status',"$_POST[id],!inativo,!Negado");	
	while($a=carrega_array($sql)){

		if ( $a[list_tx_status]=='Negado' ) {
			// NÃO EXIBE ITENS NEGADOS
			continue;
		}
	
		$valor_total2+=($a[list_tx_valor]*$a[list_tx_qtde]);
		
		$valores[]=array($a[prod_tx_nome],$a[list_tx_unidade],mostra_valor($a[list_tx_qtde]),mostra_valor($a[list_tx_recebido]),"R$ ".mostra_valor($a[list_tx_valor]),"R$ ".mostra_valor($a[list_tx_valor]*$a[list_tx_qtde]));
	
	}

	if( mostra_valor($a_comp[comp_tx_valor],1) != mostra_valor($valor_total2,1))
		$valores[]=array('','','','','<B>SUB-TOTAL:',"R$ ".'<B>'.mostra_valor($valor_total2,1));
	
	$valores[]=array('','','','','<B>TOTAL:',"R$ ".'<B>'.mostra_valor($a_comp[comp_tx_valor],1));


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



	cactux::fecha_form();
	

	$comp=carregar('compra',$_POST[id]);
	
	//$sql2=selecionar('boleto,movimento',"bole_tx_status,movi_tx_status","!inativo,!inativo"," AND movi_nb_compra='$_POST[id]'",0);
	//$sql2=selecionar('boleto,movimento',"bole_tx_status,movi_tx_status","!inativo,!inativo"," AND movi_nb_id='$comp[comp_nb_movimento]'",0);

	// -----------------------------------------------------------------------------------------------
	// 
	// EM 18/11/2013 FOI ALTERADO A CONSULTA PARA PERMITIR QE SE EXIBA TODOS OS BOLETOS DESSE MOVIMENTO NA IMPRESSAO DA REQUISICAO
	// 
	// -----------------------------------------------------------------------------------------------
	$sql2 = selecionar('boleto,movimento',"bole_tx_status,movi_tx_status","!inativo,!inativo"," AND movi_nb_compra='$comp[comp_nb_id]'");
	if( num_linhas($sql2) > 0 ) {
	
		while($a2=carrega_array($sql2)){
			
			$valores2[]=array($a2[bole_nb_id],$a2[bole_tx_parcela],data($a2[bole_tx_vencimento],1),mostra_valor($a2[bole_tx_valordoc]));
		
		}
		
		$cabecalho2[]=array('BOLETO','PARCELA','VENCIMENTO','VALOR');
		$cabecalho2[]='c,c,e,e,e,e,c';
		$cabecalho2[]='15%,15%,30%,';
		$cabecalho2[]='30%';
		
		enter();
		
		echo "<div style='text-align:left; width:98%'>";
		
		grid::gerar($cabecalho2,$valores2);
		
		echo "</div>";
	}
	
}



function layout_imprimi_busca(){

	
	
	if($_SESSION[user_tx_nivel]=="Comprador" || $_SESSION[user_tx_nivel]=="Informatica"){
	
		$extra .=" AND comp_nb_userCadastro='$_SESSION[user_nb_id]'";
	
	
	}
	

	if( $_POST[busca_data1] )
		$extra .= " AND comp_tx_dataCadastro >= '".gera_data($_POST[busca_data1],1)." 00:00:00'";
	if( $_POST[busca_data2] )
		$extra .= " AND comp_tx_dataCadastro <= '".gera_data($_POST[busca_data2],1)." 23:59:59'";
	if( $_POST[busca_setor] != '1' && $_POST[busca_setor]!= '') {
		$extra .= " AND comp_nb_setor = '$_POST[busca_setor]'";
		$a_setor = carregar('setor',$_POST[busca_setor]);
	}
	if( $_POST[busca_fornecedor] ) {
		$extra .= " AND comp_nb_entidade = '$_POST[busca_fornecedor]'";
		$a_fornacedor = carregar('entidade',$_POST[busca_fornecedor]);
	}
	if( $_POST[busca_status] ) {

		if ( $_POST[busca_status] == 'Finalizado' )
			$extra .= " AND (comp_tx_status='Finalizado' OR comp_tx_status='Finalizado Pendente') ";
		elseif ( $_POST[busca_status] == 'Recebido' )
			$extra .= " AND (comp_tx_status='Recebido' OR comp_tx_status='Pendente') ";
		else
			$extra .= " AND comp_tx_status = '$_POST[busca_status]'";
	}


	cabecaRelatorioVenda('Recebimento de Compra',2);
	
	cactux::abre_form();
	
	//CAMPOS
	$c[] = cactux::texto('Data Inicial:',$_POST[busca_data1],2);
	$c[] = cactux::texto('Data Final:',$_POST[busca_data2],2);
	$c[] = cactux::texto('Setor:',$a_setor[seto_tx_nome],2);
	$c[] = cactux::texto('Fornecedor:',$a_entidade[enti_tx_nome],3);
	$c[] = cactux::texto('Situaçao:',$_POST[busca_status],1);
	//$c[] = cactux::combo_bd('!Fornecedor:','busca_fornecedor','','',3,'entidade','',"1  ORDER BY enti_tx_nome");
	//$c[] = cactux::combo_bd('!Cliente:','cliente','','',2,'entidade','',"1  ORDER BY enti_tx_nome");
	
	//BOTOES
		
	cactux::abre_fieldset('Filtro de Busca');
	cactux::linha_fieldset($c[0],$c[1],$c[2],$c[3],$c[4]);
	cactux::linha_fieldset($buscar,$inserir,$status);
	cactux::fecha_fieldset();
	
	$sql=selecionar('compra,setor,entidade.user','comp_tx_status',"!inativo"," $extra AND user_nb_id=comp_nb_userCadastro ORDER BY comp_nb_id DESC");
	
	$cabecalho[]=array('CÓD','SETOR','FORNECEDOR','DATA','VALOR','SITUAÇÃO');
	$cabecalho[]='c,e,e,e,c,c,c';
	$cabecalho[]='5%,15%,,5%,6%,6%,2%,2%';
	$cabecalho[]='98%';
	
	while($a=carrega_array($sql)){


		// O FINALIZADO PENDENTE É EQUIVALENTE AO STATUS FINALIZADO
		if ( $a[comp_tx_status] == 'Finalizado Pendente' )
			$a[comp_tx_status] = 'Finalizado';

		// O STATUS PENDENTE É O MESMO QUE O STATUS RECEBIDO, SÓ QUE INTERNAMENTE ELE TEM QUE FICAR COM O STATUS PENDENTE
		if ( $a[comp_tx_status] == 'Pendente' )
			$a[comp_tx_status] = 'Recebido';

		
		if( $a[comp_tx_status] != 'Finalizado' ) {
			if( $a[comp_tx_status] == 'Solicitado' )
				$modificar=".icone_modificar($a[0],'modifica_compra')";
			if( $a[comp_tx_status] == 'Autorizado' )
				$modificar=".icone_modificar($a[0],'layout_finaliza','','','','','','cactus/imagens/boleto.gif')";
				
				$excluir = ".icone_modificar($a[0],'layout_imprime','','','','target=_blank','Imprimir','cactus/imagens/imprimir.png')";
				//$excluir = ".icone_excluir($a[0],'exclui_compra')";
		
		} else {
			$modificar="";
			$excluir = ".icone_modificar($a[0],'layout_imprime','','','','target=_blank','Imprimir','cactus/imagens/imprimir.png')";
		}
		
		if($_SESSION[user_tx_nivel]=='Administrativo' && $a[comp_tx_status]=='Finalizado'){
		
			$modificar=".icone_modificar($a[0],'layout_finaliza','','','','','','cactus/imagens/boleto.gif')";
		
		}
		
		
		
		
		$valores[] = array( $a[comp_nb_id], $a[seto_tx_nome], $a[enti_tx_nome], data($a[comp_tx_dataCadastro],1),
							mostra_valor($a[comp_tx_valor]), $a[comp_tx_status] );
	
		$total_valor+=$a[comp_tx_valor];
	}
	
	$valores[]=array('','','','<b>TOTAL: </b>',mostra_valor($total_valor),'');
	
	cactux::fecha_form();
	
	echo"<br>";
	grid::gerar($cabecalho,$valores);

	
	rodape();
	
	
}




function seleciona_layout_finaliza(){
	
	
	
	
	$IDS_MOV = ids_agrupados($_POST[ids_agrupados]);
	$total_ids=count($IDS_MOV);
/*
	
	for($i=0;$i!=$total_ids;$i++){
	
		if($i==0)
			$extra.=" comp_nb_id='$IDS_MOV[$i]'";
		else
			$extra.=" OR comp_nb_id='$IDS_MOV[$i]'";
	
	}
*/
	

	if( $total_ids > 1 ) {
	
		$extra = implode(",",$IDS_MOV);
		$sql = selecionar('compra','comp_tx_status',"!inativo"," AND comp_nb_id IN($extra)");
		while( $a = carrega_array($sql) ) {
			
			// if( $a[comp_tx_status] != 'Autorizado' ) {
			
				// set_status("ERRO: Todas as requisições devem ser autorizadas!");
				// index();
				// exit;
			
			// }
				
		}
		
		layout_finaliza();
	} else {
		layout_finaliza_original();
		
	}
	
	exit;

}

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

}



function envia_anexo(){
	
	global $CACTUX_CONF;
	$a_mod=$_POST[a_mod];
	
	$anexo = $_FILES[anexo];

	// print_r($_POST);
	// exit;
	
	//CONSULTA OS DADOS DA COMPRA LIGADA A MOVIMENTO PARA PEGAR O ID DO MOVIMENTO
	$sql_compra = selecionar('compra,movimento','comp_nb_id',"$_POST[id]",'',0);
	if(num_linhas($sql_compra)==0){
		
		set_status("ERRO: Movimento não encontrado!");
		index();
		exit;

	}
	$a_compra = carrega_array($sql_compra);
	
		
	//DADOS DA TABELA ANEXO
	$campos = array(anex_tx_nome, anex_nb_movimento, anex_tx_tipo,anex_tx_status);
	$valores = array($_POST[titulo],$a_compra[movi_nb_id],'compra',ativo);
	
	
	//SE NÃO EXISTIR ANEXO DESSE MOVIMENTO ELE INSERE NA TABELA
	if( !$_POST[id_anexo] ) {
		//INSERIR
		$campos = array_merge($campos,array(anex_nb_userCadastro, anex_tx_dataCadastro));
		$valores = array_merge($valores,array($_SESSION[user_nb_id],date("Y-m-d H:i:s")));
		inserir('anexo',$campos,$valores,1);
		$_POST[id_anexo]=ultimo_reg('anexo');
	} else {
		//ATUALIZAR
		$campos = array_merge($campos,array(anex_nb_userAtualiza, anex_tx_dataAtualiza));
		$valores = array_merge($valores,array($_SESSION[user_nb_id],date("Y-m-d H:i:s")));
		atualizar('anexo',$campos,$valores,$_POST[id_anexo]);
	}


	$_POST[titulo]=ereg_replace("[^a-zA-Z0-9_]", "", strtr($_POST[titulo], "áàãâéêíóôõúüçÁÀÃÂÉÊÍÓÔÕÚÜÇ ", "aaaaeeiooouucAAAAEEIOOOUUC_"));
	$_POST[titulo]=str_replace(" ", "_", $_POST[titulo]);
	//$_POST[titulo]=substr($_POST[titulo],0,-3);
		
	//GUARDAR O ANEXO
	if( $anexo[name] != '') {
		// CRIA O DIRETÓRIO PARA GUARDAR OS ANEXOS DA COMPRA, ATRAVÉS DO ID DO MOVIMENTO
		//@mkdir("$_SERVER[DOCUMENT_ROOT]/$CACTUX_CONF[path]/arquivos/anexos/$a_compra[movi_nb_id]");
		
		//GUARDA O ARQUIVO DENTRO DA PASTA DO ID DO MOVIMENTO, SALVA COM O NOME DO TÍTULO E O ID DO MOVIMENTO
		$msg = enviar('anexo',$CACTUX_CONF[path].'/arquivos/anexos/'.$a_compra[movi_nb_id].'-'.$_POST[titulo],1); 
		
		set_status('Anexo Cadastrado com Sucesso!');
		
		// GUARDA O NOME DO ARQUIVO ORIGINAL NA TAVELA ANEXO
		if( !bd_erro($msg) ) {
			$envia_campos = 'anex_tx_arquivo';		
			$envia_valores = basename($msg);
			atualizar('anexo',$envia_campos,$envia_valores,$_POST[id_anexo]);
		}
	}
		
	layout_anexo();
	exit;
}

function exclui_anexo(){
	
	$a = carregar('anexo,movimento',$_POST[id]);
	remover('anexo',$_POST[id]);
	$_POST[id]=$a[movi_nb_compra];
	
	layout_anexo();
	exit;
}


function modifica_anexo(){
	global $a_mod;
	
	$a_mod = carregar('anexo,movimento',$_POST[id]);
	$_POST[id]=$a_mod[movi_nb_compra];
	
	layout_anexo();
	exit;
}




function layout_anexo(){
	global $a_mod;
	global $CACTUX_CONF;
	
	cabecalho('Requisição de Compra',2);

	$a_mov=carregar('compra,movimento',$_POST[id]);
	if($a_mov[movi_tx_arquivo]!=''){
		$icone_ver_movimento="<a href='../arquivos/financeiro/".$a_mov[movi_tx_arquivo]."' target=_blank  onmouseover=exibe_ajuda(8,this) onmouseout=remove_ajuda(8) ><img src='..//cactus/imagens/boleto.gif'  border=0></a>";
		$valores[]=array('',"Anexo do financeiro",$icone_ver_movimento,'','');
	}


	
	//CONSULTAS
	$a_compra = carregar('compra,setor,entidade',$_POST[id]);
	$a_comprador = carregar('user',"$a_compra[comp_nb_userCadastro]");
	
	// CAMPOS TEXTO
	$t1[] = cactux::texto('Código:',$a_compra[comp_nb_id],2);
	$t1[] = cactux::texto('Setor:',$a_compra[seto_tx_nome],2);
	$t1[] = cactux::texto('Comprador:',$a_comprador[user_tx_nome],4);
	$t1[] = cactux::texto('Data:',data($a_compra[comp_tx_dataCadastro],1),2);
	$t2[] = cactux::texto('Fornecedor:',$a_compra[enti_tx_nome],4);
	
	//CAMPOS PARA DADOS DO ARQUIVO
	$c[] = cactux::campo('Título:','titulo',$a_mod[anex_tx_nome],4);
	$c[] = cactux::campo_arquivo('Anexo:','anexo',4);
	
	//UTILIZADA APENAS PARA TESTE
	//$_POST[id] = 1;
	
	$gravar = cactux::botao_submit('Gravar',2,'envia_anexo','id_movi,id,id_anexo',"$a_compra[comp_nb_movimento], $_POST[id],$a_mod[anex_nb_id]");
	$voltar = cactux::botao('Voltar',2,'voltar');
	$status = cactux::msg_status();
	
	cactux::abre_form('upload');
	
	cactux::abre_fieldset('Informações da Compra');
	cactux::linha_fieldset($t1[0],$t1[1],$t1[2],$t1[3]);
	cactux::linha_fieldset($t2[0]);
	cactux::linha_fieldset($c[0],$c[1]);
	cactux::linha_fieldset($voltar,$gravar,$status);
	cactux::fecha_fieldset();
	
	cactux::fecha_form();
	
	cactux::acao_botao('voltar','index');
	
	$sql = selecionar('anexo','anex_tx_status',"!inativo"," AND anex_nb_movimento='$a_compra[comp_nb_movimento]' $extra ORDER BY anex_nb_id");
		
	$cabecalho[] = array('COD','ANEXO','','','');
	$cabecalho[] = 'c,e';
	$cabecalho[] = '6%,,3%,3%,3%';
	$cabecalho[] = '50%';
	
	while( $a = carrega_array($sql) ){
		$ver_anexo="<a href=$CACTUX_CONF[path]/arquivos/anexos/$a[anex_tx_arquivo] target=_blank><img src = '$CACTUX_CONF[path]cactus/imagens/boleto.gif'></a>";

		$valores[] = array($a[anex_nb_id],$a[anex_tx_nome],$ver_anexo,".icone_modificar($a[0],modifica_anexo)",".icone_excluir($a[0],exclui_anexo)");
	}
	
	grid::gerar($cabecalho,$valores);
	
	rodape();
}



function cadastra_pendente(){


	$id_listacompra=$_POST[id_listacompra];
	$obs_pendente=$_POST[obs_pendente];

	for($i=0;$i<count($id_listacompra);$i++){

		if($obs_pendente[$i]!='')
			$t_obs++;

		atualizar('listacompra','list_tx_obsPendente',$obs_pendente[$i],$id_listacompra[$i]);
	
	}

	if($t_obs==count($id_listacompra))
		atualizar('compra','comp_tx_status',"Finalizado",$_POST[id]);
	else
		atualizar('compra','comp_tx_status',"Pendente",$_POST[id]);



	index();
	exit;

	// print_r($_POST);
	// exit;

}


function imprimir_pendente(){
	global $a_mod;
	global $CACTUX_CONF;
	

	
	$a_comp=carregar('compra,setor,entidade.user',$_POST[id],'',""," AND user_nb_id=comp_nb_userCadastro");
	
	cabecaRelatorio('PRODUTOS PENDENTES');
	
	
	cactux::fecha_form();
		
	$t1[] = cactux::texto('Código:',zeros($a_comp[comp_nb_id],3),2);
	$t1[] = cactux::texto('Setor:',$a_comp[seto_tx_nome],2);
	$t1[] = cactux::texto('Comprador:',$a_comp[user_tx_nome],4);
	$t1[] = cactux::texto('Data:',data($a_comp[comp_tx_dataCadastro],1),2);

	$t2[] = cactux::texto('Fornecedor:',$a_comp[enti_tx_nome],4);
	$t2[] = cactux::texto('Descrição/Forma de Pagamento:',$a_comp[comp_tx_obsCadastro],4);
	
//	$t2[] = cactux::texto('Valor:',"R$ ".mostra_valor($a_comp[comp_tx_valor],1),2);

	cactux::abre_fieldset('Informações da Compra');
	cactux::linha_fieldset($t1[0],$t1[1],$t1[2],$t1[3]);
	cactux::linha_fieldset($t2[0],$t2[1],$t2[2]);
	cactux::fecha_fieldset();

	echo"<br>";
	
	
	
	$cabeca[] = array('','PRODUTO','UNIDADE','QUANTIDADE','QTDE RECEBIDA','VALOR UN.','VALOR','OBSERVAÇÃO DA PENDÊNCIA');
	$cabeca[] = 'c,e,c,c,c,c,c,e,e';
	$cabeca[] = '5%,20%,10%,10%,10%,10%,10%,';
	$cabeca[] = '98%,';

	$sql=selecionar('listacompra,compra,produto','list_nb_compra,list_tx_status',"$_POST[id],!inativo"," AND list_tx_recebido!=list_tx_qtde ORDER BY prod_tx_nome,list_nb_id");
	while( $a=carrega_array($sql) ) {
		
		
		if( $a[list_tx_recebido] > 0 ){
			$qtde = $a[list_tx_recebido];
			$valor = $a[list_tx_valor]*$a[list_tx_qtde];
		}
		else{
			$valor = $a[list_tx_valor]*$a[list_tx_qtde];
			$qtde = $a[list_tx_qtde];
		}
		
		$valor_total += $valor;

		$campo = "<input type=text name=obs_pendente[] value='$a[list_tx_obsPendente]' style='width:100%; text-align:left;' >
		<input type=hidden name=id_listacompra[] value='$a[list_nb_id]'>";
		
		
		$valores[] = array(++$j,$a[prod_tx_nome],$a[list_tx_unidade],mostra_valor($a[list_tx_qtde],1),mostra_valor($a[list_tx_recebido],1),mostra_valor($a[list_tx_valor],1),mostra_valor($valor),$a[list_tx_obsPendente]);
		
	}
	if(mostra_valor($a_comp[comp_tx_valor],1) != mostra_valor($valor_total,1))
		$valores[]=array('','','','','','<B>SUB-TOTAL:','<B>'.mostra_valor($valor_total,1),'');
	
	
	$valores[]=array('','','','','','<B>TOTAL:','<B>'.mostra_valor($a_comp[comp_tx_valor],1),'');
	
	grid::gerar($cabeca,$valores);
	
	cactux::fecha_form();

	cactux::acao_botao('voltar','index');

	rodape();
}


function layout_pendente(){
	global $a_mod;
	global $CACTUX_CONF;
	
	cabecalho('Requisição de Compra',2);

	
	//CONSULTAS
	$a_compra = carregar('compra,setor,entidade',$_POST[id]);
	$a_comprador = carregar('user',"$a_compra[comp_nb_userCadastro]");
	
	// CAMPOS TEXTO
	$t1[] = cactux::texto('Código:',$a_compra[comp_nb_id],2);
	$t1[] = cactux::texto('Setor:',$a_compra[seto_tx_nome],2);
	$t1[] = cactux::texto('Comprador:',$a_comprador[user_tx_nome],4);
	$t1[] = cactux::texto('Data:',data($a_compra[comp_tx_dataCadastro],1),2);
	$t2[] = cactux::texto('Fornecedor:',$a_compra[enti_tx_nome],4);
	
	
	
	//UTILIZADA APENAS PARA TESTE
	//$_POST[id] = 1;
	
	$gravar = cactux::botao_submit('Gravar',2,'cadastra_pendente','id',"$_POST[id]");
	$voltar = cactux::botao('Voltar',2,'voltar');
	$status = cactux::msg_status();
	
	cactux::abre_form('upload');
	
	cactux::abre_fieldset('Informações da Compra');
	cactux::linha_fieldset($t1[0],$t1[1],$t1[2],$t1[3]);
	cactux::linha_fieldset($t2[0]);
	cactux::linha_fieldset($voltar,$gravar,$status);
	cactux::fecha_fieldset();
	
	
	
	$cabeca[] = array('','PRODUTO','UNIDADE','QUANTIDADE','QTDE RECEBIDA','VALOR UN.','VALOR','OBSERVAÇÃO DA PENDÊNCIA');
	$cabeca[] = 'c,e,c,c,c,c,c,e,e';
	$cabeca[] = '5%,20%,10%,10%,10%,10%,10%,';

	$sql=selecionar('listacompra,compra,produto','list_nb_compra,list_tx_status',"$_POST[id],!inativo"," AND list_tx_recebido!=list_tx_qtde ORDER BY prod_tx_nome,list_nb_id");
	while( $a=carrega_array($sql) ) {
		
		
		if( $a[list_tx_recebido] > 0 ){
			$qtde = $a[list_tx_recebido];
			$valor = $a[list_tx_valor]*$a[list_tx_qtde];
		}
		else{
			$valor = $a[list_tx_valor]*$a[list_tx_qtde];
			$qtde = $a[list_tx_qtde];
		}
		
		$valor_total += $valor;

		$campo = "<input type=text name=obs_pendente[] value='$a[list_tx_obsPendente]' style='width:100%; text-align:left;' >
		<input type=hidden name=id_listacompra[] value='$a[list_nb_id]'>";
		
		
		$valores[] = array(++$j,$a[prod_tx_nome],$a[list_tx_unidade],mostra_valor($a[list_tx_qtde],1),mostra_valor($a[list_tx_recebido],1),mostra_valor($a[list_tx_valor],1),mostra_valor($valor),$campo);
		
	}
	if(mostra_valor($a_compra[comp_tx_valor],1) != mostra_valor($valor_total,1))
		$valores[]=array('','','','','','<B>SUB-TOTAL:','<B>'.mostra_valor($valor_total,1),'');
	
	
	$valores[]=array('','','','','','<B>TOTAL:','<B>'.mostra_valor($a_compra[comp_tx_valor],1),'');
	
	grid::gerar($cabeca,$valores);
	
	cactux::fecha_form();

	cactux::acao_botao('voltar','index');

	rodape();
}




function index(){
	global $CACTUX_CONF;



	cabecalho('Recebimento de Compra',2);
	

	if( $_POST[busca_data1] )
		$extra .= " AND comp_tx_dataCadastro >= '".gera_data($_POST[busca_data1],1)." 00:00:00'";
	if( $_POST[busca_data2] )
		$extra .= " AND comp_tx_dataCadastro <= '".gera_data($_POST[busca_data2],1)." 23:59:59'";
	if( $_POST[busca_setor] != '1' && $_POST[busca_setor]!= '') {
		$extra .= " AND comp_nb_setor = '$_POST[busca_setor]'";
		$a_setor = carregar('setor',$_POST[busca_setor]);
	}
	if( $_POST[busca_fornecedor] ) {
		$extra .= " AND comp_nb_entidade = '$_POST[busca_fornecedor]'";
		$a_fornacedor = carregar('entidade',$_POST[busca_fornecedor]);
	}
	if( $_POST[busca_status] ) {

		if ( $_POST[busca_status] == 'Finalizado' )
			$extra .= " AND (comp_tx_status='Finalizado' OR comp_tx_status='Finalizado Pendente') ";
		elseif ( $_POST[busca_status] == 'Recebido' )
			$extra .= " AND (comp_tx_status='Recebido' OR comp_tx_status='Pendente') ";
		else
			$extra .= " AND comp_tx_status = '$_POST[busca_status]'";
	}
	
	
	cactux::abre_form();
	
	//CAMPOS
	$c[] = cactux::campo('Data Inicial:','busca_data1',$_POST[busca_data1],1,MASCARA_DATA);
	$c[] = cactux::campo('Data Final:','busca_data2',$_POST[busca_data2],1,MASCARA_DATA);
	$c[] = cactux::combo_bd('!Setor:','busca_setor',$a_setor[seto_nb_id],$a_setor[seto_tx_nome],3,'setor','',"1  ORDER BY seto_tx_nome");
	$c[] = cactux::combo_net('!Fornecedor:','busca_fornecedor',$a_fornacedor[enti_nb_id],$a_fornacedor[enti_tx_nome],3,array('busca_div.php?c=entidade','busca_net.php?c=entidade'));
	$c[] = cactux::combo('Situação:','busca_status',array('','Solicitado','Autorizado','Recebido','Finalizado','Negado'),$_POST[busca_status],2);


	
	//BOTOES
	$buscar = cactux::botao_submit_busca('Buscar',2,'index');
	// $inserir = cactux::botao('Inserir',2,'inserir');
	$imprimir_busca = cactux::botao('Imprimir',2,'imprimir_busca');
	$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('compra,setor,entidade.user','comp_tx_status',"!inativo"," $extra AND user_nb_id=comp_nb_userCadastro ORDER BY comp_nb_id DESC",1);
	$BUSCA = grid::gerar_paginacao($sql,'','',30);
	
	$cabecalho[]=array('','CÓD','SETOR','FORNECEDOR','DATA','VALOR','SITUAÇÃO','','','');
	$cabecalho[]='c,c,e,e,e,c,c,c';
	$cabecalho[]='2%,5%,15%,,5%,6%,6%,2%,2%,2%';
	
	while($a=carrega_array($BUSCA[0])){


		// O FINALIZADO PENDENTE É EQUIVALENTE AO STATUS FINALIZADO
		if ( $a[comp_tx_status] == 'Finalizado Pendente' )
			$a[comp_tx_status] = 'Finalizado';

		// O STATUS PENDENTE É O MESMO QUE O STATUS RECEBIDO, SÓ QUE INTERNAMENTE ELE TEM QUE FICAR COM O STATUS PENDENTE
		if ( $a[comp_tx_status] == 'Pendente' )
			$a[comp_tx_status] = 'Recebido';
	
	
		$check = "<input type=checkbox value=Sim id=check_".$a[comp_nb_id]." onClick=seleciona_check('$a[comp_nb_id]')>";

		if( $a[comp_tx_status] == 'Autorizado' ) {
			$modificar=".icone_modificar($a[0],'layout_recebimento_produto')";
		}
		if( $a[comp_tx_status] == 'Recebido' ) {
			$modificar=".icone_modificar($a[0],'layout_recebimento_produto')";
			
		}
		
		$ver_anexo = "";
		if( $a[comp_tx_status]=='Finalizado' ) {
			// $modificar = "<a href=# onclick='faz_pagamento($a[comp_nb_id])' alt='Finalizar' ><img src='$CACTUX_CONF[path]/cactus/imagens/visualizar.png' border=0></a>";	
			$modificar = "";
			// O ANEXO É ASSOCIADO AO MOVIMENTO
			if ( $a[comp_nb_movimento] > 0 ) {
				$ver_anexo = ".icone_modificar($a[comp_nb_id],'layout_anexo','','','','','','/cactus/imagens/visualizar2.png')";
			}
		}

		if( $a[comp_tx_status] == 'Pendente' ) {
			$modificar = ".icone_modificar($a[0],layout_pendente)";	
		}


		
		$imprimir = ".icone_modificar($a[0],'layout_imprime','','','','target=_blank','Imprimir','/cactus/imagens/imprimir.png')";
		
		$sql_lista = selecionar('listacompra,compra','comp_nb_id',"$a[comp_nb_id]");
		$a_lista = carrega_array($sql_lista);

		if( $a[comp_tx_status]=='Finalizado' && $a_lista[list_tx_recebido] < $a_lista[list_tx_qtde]) {
			$modificar = ".icone_modificar($a[comp_nb_id],'imprimir_pendente','','','','target=_blank','','/cactus/imagens/imprimir2.png')";
		}
		
		if($a_lista[list_tx_recebido] < $a_lista[list_tx_qtde]){
			$cor = "<div style='color:red'>";
		} else {
			$cor = "<div style='color:black'>";
		}
		
		
		$valores[]=array($check,$a[comp_nb_id],$a[seto_tx_nome],$a[enti_tx_nome],data($a[comp_tx_dataCadastro],1),mostra_valor($a[comp_tx_valor]),
						$a[comp_tx_status],$ver_anexo,$imprimir,$modificar);
	
		$total_valor+=$a[comp_tx_valor];

		unset($ver_anexo,$imprimir,$modificar);
	}
	
	$valores[]=array('','','','','<b>TOTAL: </b>',mostra_valor($total_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();
?>
