Viewing file: conta_assina.php (20.78 KB) -rwxr-xr-x Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
include("../../config/config.php");
include(INCLUDES . "inc_Conexao.php");
include(INCLUDES . "inc_Funcoes.php");
include(INCLUDES . "valida_usuario.inc.php");
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Data já vencida
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
if ($_POST) {
extract($_POST);
if($id_conta_assinar=="" and $hdAcao!="co-assinar"){
//Pasta com os arquivos dos repasses
$pasta_arquivos = "activex/repasses/";
//Cria o arquivo e Assina
$ano = date("Y");
$mes = date("m");
$dia = date("d");
$hr_min = date("Hi");
$nome_arquivo = "Repasse_" .$ano."_".$mes."_".$dia."_".$hr_min.".CSV";
//echo("<BR>nome_arquivo:".$nome_arquivo."<BR>");
$atual = 0;
while (file_exists($pasta_arquivos . $nome_arquivo)) {
$atual++;
$nome_arquivo = "Repasse_" .$ano."_".$mes."_".$dia."_".$hr_min. "-" . $atual . ".CSV";
}
//$nome_arquivo=strtolower($nome_arquivo);
/*echo("<BR>nome_arquivo:".$nome_arquivo."<BR>");
die();*/
//Grava o arquivo
$fp = fopen($pasta_arquivos . $nome_arquivo,"w");
/*echo '<pre>';
print_r($conta);
echo '</pre>';
die();*/
fwrite($fp,"Fornecedor / Favorecido; CPF/CNPJ; Banco;Agencia / DV ;Conta / DV;Numero do documento ;Referencia / Cod Barras ;Data de Vencimento ;Data Preferencial para Pagamento ;Valor\n");
foreach ($conta as $conta1) {
$sqlContas = "
select *
from
FUN_ContasInternas
INNER JOIN FUN_Fornecedores ON FOR_RowID = CON_Fornecedor_DR
where
CON_RowID = $conta1";
$contas= executa($sqlContas);
foreach($contas as $valor)
{
/*echo '<pre>';
print_r($valor);
echo '</pre>';
die();*/
extract($valor);
$CON_DataVencimento=arrumaData($CON_DataVencimento,'mostra');
$CON_DataPrefPagamento=arrumaData($CON_DataPrefPagamento,'mostra');
//$CON_Referencia= utf8_decode($CON_Referencia);
if($CON_ModDebito==1)
$CON_ModDebito = utf8_decode("Autorização de Retirada");
else if($CON_ModDebito==2)
$CON_ModDebito = utf8_decode("Pagamento de Boleto Bancário");
else if($CON_ModDebito==3)
$CON_ModDebito = utf8_decode("Transferência Bancária");
else
$CON_ModDebito = utf8_decode("");
$CON_NumCheque= utf8_decode($CON_NumCheque);
$FOR_Nome= utf8_decode($FOR_Nome);
$CON_BancoNome= utf8_decode($CON_BancoNome);
$CON_NumeroDocumento= utf8_decode($CON_NumeroDocumento);
if($CON_AgenciaDV!="")
$CON_AgenciaNum = $CON_AgenciaNum ." / ". $CON_AgenciaDV;
if($CON_ContaDV!="")
$CON_ContaNum = $CON_ContaNum ." / ". $CON_ContaDV;
fwrite($fp,"$FOR_Nome;$FOR_CpfCnpj;$CON_BancoNome;$CON_AgenciaNum;$CON_ContaNum;$CON_NumeroDocumento;$CON_ModDebito;$CON_DataVencimento;$CON_DataPrefPagamento;$CON_Valor \n");
}
}
while($i<100){
fwrite($fp,"\n");
$i++;
}
fclose($fp);
//echo(chmod($pasta_arquivos . $nome_arquivo,0777));
}
//******************************************* SE FOR A SIMULAÇÃO DA ASSINATURA ********************************//
//******************************************* SE FOR A SIMULAÇÃO DA ASSINATURA ********************************//
if ($hdAcao=="simular"){
if($id_conta_assinar==""){
//************************************** SE FOR A PRIMEIRA ASSINATURA *****************************//
//************************************** SE FOR A PRIMEIRA ASSINATURA *****************************//
//********** SE O ARQUIVO NÃO EXISTIR GRAVA REGISTRO NA TABELA FUN_ArquivoAssinadoContas **********//
//********** SE O ARQUIVO NÃO EXISTIR GRAVA REGISTRO NA TABELA FUN_ArquivoAssinadoContas **********//
$arquivoAssinado->ACO_RowID="";
$arquivoAssinado->ACO_NomeArquivo=$nome_arquivo;
$arquivoAssinado->ACO_Completou_AssinaturasSN='N';
$arquivoAssinado->ACO_SituacaoLB="B";
$arquivoAssinado->ACO_AtivoSN="S";
$sqlNivelAssinatura = "
SELECT ANC_ProxNivel
FROM FUN_Assinaturas_Contas
INNER JOIN FUN_AssinaturaNivel_Contas on ASC_NivelContas_DR=ANC_RowID
INNER JOIN usuarios ON USU_RowID = ASC_Contato_DR
WHERE ASC_Contato_DR=$assinador
";
//echo $sqlNivelAssinatura . "<br />";
//die();
$nivelAssinatura = executa($sqlNivelAssinatura);
foreach($nivelAssinatura as $nivel)
extract($nivel);
$arquivoAssinado->ACO_ProxNivel_DR=$ANC_ProxNivel;
$arquivoAssinado->ACO_Status=1;
mysql_query("BEGIN");
if (salva("FUN_ArquivoAssinadoContas",$arquivoAssinado)) {
$erro = false;
$id_repasse_conf = mysql_insert_id();
} else {
$erro = true;
echo mysql_error();
}
//********* FIM SE O ARQUIVO NÃO EXISTIR GRAVA REGISTRO NA TABELA FUN_ArquivoAssinadoContas **********//
//********* FIM SE O ARQUIVO NÃO EXISTIR GRAVA REGISTRO NA TABELA FUN_ArquivoAssinadoContas **********//
foreach($conta as $valor2)
{
$contasInternas->CON_RowID=$valor2;
$contasInternas->CON_ArquivoAssinado_DR=$id_repasse_conf ;
if (salva("FUN_ContasInternas",$contasInternas)) {
$erro = false;
} else {
$erro = true;
echo mysql_error();
}
}
if (!empty($conta)){
foreach($conta as $contas) {
$contas_pagas.=$contas.",";
}
}
$contas_pagas=substr($contas_pagas,0,-1);
//echo $contas_pagas;
//PEGA O VALOR DOS ARQUIVOS QUE FORAM ASSILADOS PARA PAGAR
$sqlValores = "
select sum(CON_Valor) as total
from
FUN_ContasInternas
where
CON_RowID in ($contas_pagas)";
$dadosValores= executa($sqlValores);
/*echo '<pre>';
echo $sqlValores;
echo '</pre>';
die;*/
if (!empty($dadosValores)) {
foreach($dadosValores as $dadosValores2) {
$total = $dadosValores2['total'];
}
}
$PagamentoSinteticoAssinado->RSA_RowID='';
$PagamentoSinteticoAssinado->RSA_DataHoraAssinatura=date('Y-m-d H:i:s');
$PagamentoSinteticoAssinado->RSA_Assinaturas_DR=$assinador;
$PagamentoSinteticoAssinado->RSA_ValorTotal=$total;
$PagamentoSinteticoAssinado->RSA_ArquivoAssinado_DR=$id_repasse_conf;
/*
echo("<pre>");
print_r($PagamentoSinteticoAssinado);
echo("</pre>");
die();
*/
if (salva("FUN_PagamentoSinteticoAssinado",$PagamentoSinteticoAssinado)) {
$erro = false;
} else {
$erro = true;
echo mysql_error();
}
//************************************** FIM SE FOR A PRIMEIRA ASSINATURA *****************************//
//************************************** FIM SE FOR A PRIMEIRA ASSINATURA *****************************//
}else
{
//************************************** SE FOR A SEGUNDA ASSINATURA EM DIANTE *****************************//
//************************************** SE FOR A SEGUNDA ASSINATURA EM DIANTE *****************************//
//VERRIFICA SE É O ULTIMO QUE ESTA ASSINANDO SE FOR SETA O ARQUIVO COMO COMPLETOU ASSINATURAS
$sql_total="SELECT sum(ANC_Quantidade)as total_assinadores
FROM FUN_AssinaturaNivel_Contas
WHERE ANC_AtivoSN='S'";
$rs_total = mysql_query($sql_total);
$rst_total = mysql_fetch_assoc($rs_total);
$total_assinadores =$rst_total['total_assinadores'];
$sql_total_assinados="
SELECT count(RSA_Assinaturas_DR)as total_assinados
FROM FUN_PagamentoSinteticoAssinado
WHERE RSA_ArquivoAssinado_DR='$id_conta_assinar'";
$rs_total_assinados = mysql_query($sql_total_assinados);
$rst_total_assinados = mysql_fetch_assoc($rs_total_assinados);
$total_assinados =$rst_total_assinados['total_assinados'];
//aqui é total assinadores -1 porque a ultima assinatura esta acontecendo agora.
if($total_assinados==($total_assinadores-1)){
$ACO_Completou_AssinaturasSN='S';
}else{
$ACO_Completou_AssinaturasSN='N';
}
//echo($ACO_Completou_AssinaturasSN);
$arquivoAssinado->ACO_RowID=$id_conta_assinar;
$arquivoAssinado->ACO_Completou_AssinaturasSN=$ACO_Completou_AssinaturasSN;
$arquivoAssinado->ACO_SituacaoLB="B";
$sqlNivelAssinatura = "
SELECT ANC_ProxNivel
FROM FUN_Assinaturas_Contas
INNER JOIN FUN_AssinaturaNivel_Contas on ASC_NivelContas_DR=ANC_RowID
INNER JOIN contatos ON CON_RowID = ASC_Contato_DR
WHERE ASC_Contato_DR=$assinador
";
$nivelAssinatura = executa($sqlNivelAssinatura);
foreach($nivelAssinatura as $nivel)
extract($nivel);
$arquivoAssinado->ACO_ProxNivel_DR=$ANC_ProxNivel;
$arquivoAssinado->ACO_Status=1;
if (salva("FUN_ArquivoAssinadoContas",$arquivoAssinado)) {
$erro = false;
$id_repasse_conf = mysql_insert_id();
} else {
$erro = true;
echo mysql_error();
}
//FIM VERRIFICA SE É O ULTIMO QUE ESTA ASSINANDO SE FOR SETA O ARQUIVO COMO COMPLETOU ASSINATURAS
$PagamentoSinteticoAssinado->RSA_RowID='';
$PagamentoSinteticoAssinado->RSA_DataHoraAssinatura=date('Y-m-d H:i:s');
$PagamentoSinteticoAssinado->RSA_Assinaturas_DR=$assinador;
$PagamentoSinteticoAssinado->RSA_ValorTotal=$totalGeral;
$PagamentoSinteticoAssinado->RSA_ArquivoAssinado_DR=$id_conta_assinar;
/*
echo '<pre>';
print_r($PagamentoSinteticoAssinado);
echo '</pre>';
die();
*/
if (salva("FUN_PagamentoSinteticoAssinado",$PagamentoSinteticoAssinado)) {
$erro = false;
} else {
$erro = true;
echo mysql_error();
}
}
//************************************** FIM SE FOR A SEGUNDA ASSINATURA EM DIANTE **************************//
//************************************** FIM SE FOR A SEGUNDA ASSINATURA EM DIANTE **************************//
}
//******************************************* FIM DO SE FOR A SIMULAÇÃO DA ASSINATURA ***************************//
//******************************************* FIM DO SE FOR A SIMULAÇÃO DA ASSINATURA ***************************//
//*************************************************** SE FOR A ASSINATURA **********************************//
//*************************************************** SE FOR A ASSINATURA **********************************//
if ($hdAcao=="assinar"){
//******************************** VERIFICA OS DADOS DE ASSINARA DO USUARIO**********************//
//******************************** VERIFICA OS DADOS DE ASSINARA DO USUARIO**********************//
$sqlDadosAssinatura = "
select ANC_RowID,ANC_Quantidade,ANC_ProxNivel,ANC_Nome,ASC_Nome
from
FUN_AssinaturaNivel_Contas
INNER JOIN FUN_Assinaturas_Contas ON ASC_NivelContas_DR=ANC_RowID
where
ASC_Contato_DR = '$assinador'";
$dadosAssinatura = executa($sqlDadosAssinatura);
/*echo '<pre>';
echo $sqlDadosAssinatura;
echo '</pre>';*/
if (!empty($dadosAssinatura)) {
foreach($dadosAssinatura as $dadosAssinatura) {
$nivel_logado = $dadosAssinatura['ANC_RowID'];
$prox_nivel_logado = $dadosAssinatura['ANC_ProxNivel'];
$qnt_nivel_logado = $dadosAssinatura['ANC_Quantidade'];
$nome_logado = $dadosAssinatura['ASC_Nome'];
}
}
//******************************** FIM VERIFICA OS DADOS DE ASSINARA DO USUARIO******************//
//******************************** FIM VERIFICA OS DADOS DE ASSINARA DO USUARIO******************//
// No PHP anterior a 4.1.0, $HTTP_POST_FILES deve ser usado ao invés de $_FILES.
//Grava instruçõeos para o ActiveX
$nome_arquivo_ip = $_SERVER['REMOTE_ADDR'].".txt";
if (file_exists("activex/comunicacoes/$nome_arquivo_ip"))
unlink("activex/comunicacoes/$nome_arquivo_ip");
$fp = fopen("activex/comunicacoes/$nome_arquivo_ip","w");
$contas="";
foreach($conta as $valor2)
{
$contas.=$valor2.",";
}
$contas=substr($contas,0,-1);
$sql_valor=" select
sum(CON_Valor) as total_pagar
from FUN_ContasInternas
where CON_RowID in($contas) ";
$valor = executa($sql_valor);
if (!empty($valor)) {
$total_pagar = $valor[0]['total_pagar'];
//$total_pagar=str_replace('.',',',$total_pagar);
}
/*echo("<br />.$assinador.<br />");
echo("<br />.$nome_logado.<br />");
echo("<br />.$nome_arquivo.<br />");
echo("<br />.$totalGeral.<br />");
echo("<br />.$id_conta_assinar.<br />");
echo("<br />.$hdAcao.<br />");
fwrite($fp,"<ambiente>1</ambiente>");
die();*/
foreach($conta as $valor2)
{
$contas_pagas.=$valor2.",";
}
$contas_pagas=substr($contas_pagas,0,-1);
fwrite($fp,"<id_usuario>$assinador</id_usuario>");
fwrite($fp,"<nome_usuario>$nome_logado</nome_usuario>");
fwrite($fp,"<nome_arquivo>$nome_arquivo</nome_arquivo>");
fwrite($fp,"<total_repasse>$total_pagar</total_repasse>");
fwrite($fp,"<id_repasse_conferencia>$id_conta_assinar</id_repasse_conferencia>");
fwrite($fp,"<contas>$contas_pagas</contas>");
fwrite($fp,"<acao>Assinar</acao>");
fclose($fp);
chmod("activex/comunicacoes/$nome_arquivo_ip", 0644);
//Chama o ActiveX para assinar...
//mysql_query("COMMIT WORK");
$msg = "";
$ir_para = "";
$popup = "conta_assina_activex.php";
}
if ($hdAcao=="co-assinar")
{
//Co-Assina
//******************************** VERIFICA OS DADOS DE ASSINARA DO USUARIO**********************//
//******************************** VERIFICA OS DADOS DE ASSINARA DO USUARIO**********************//
$sqlDadosAssinatura = "
select ANC_RowID,ANC_Quantidade,ANC_ProxNivel,ANC_Nome,ASC_Nome
from
FUN_AssinaturaNivel_Contas
INNER JOIN FUN_Assinaturas_Contas ON ASC_NivelContas_DR=ANC_RowID
where
ASC_Contato_DR = '$assinador'";
$dadosAssinatura = executa($sqlDadosAssinatura);
/*echo '<pre>';
echo $sqlDadosAssinatura;
echo '</pre>';*/
if (!empty($dadosAssinatura)) {
foreach($dadosAssinatura as $dadosAssinatura) {
$nivel_logado = $dadosAssinatura['ANC_RowID'];
$prox_nivel_logado = $dadosAssinatura['ANC_ProxNivel'];
$qnt_nivel_logado = $dadosAssinatura['ANC_Quantidade'];
$nome_logado = $dadosAssinatura['ASC_Nome'];
}
}
//******************************** FIM VERIFICA OS DADOS DE ASSINARA DO USUARIO******************//
//******************************** FIM VERIFICA OS DADOS DE ASSINARA DO USUARIO******************//
$pasta_arquivos = "repasses/";
//$nome_arquivo = $dados_repasse_conferencia['RCF_NomeArquivo'];
//Grava instruçõeos para o ActiveX
$nome_arquivo_ip = $_SERVER['REMOTE_ADDR'].".txt";
//echo("<BR><b>nome_arquivo_ip: $nome_arquivo_ip </b><BR>");
if (file_exists("activex/comunicacoes/$nome_arquivo_ip"))
unlink("activex/comunicacoes/$nome_arquivo_ip");
$fp = fopen("activex/comunicacoes/$nome_arquivo_ip","w");
//******************************** PEGA OS DADOS DO ARQUIVO QUE ESTA SENDO CO-ASSINADO**************//
//******************************** PEGA OS DADOS DO ARQUIVO QUE ESTA SENDO CO-ASSINADO**************//
$sqlDadosArquivo = "
SELECT
ACO_NomeArquivo,RSA_ValorTotal
FROM FUN_ArquivoAssinadoContas
INNER JOIN FUN_PagamentoSinteticoAssinado ON ACO_RowID = RSA_ArquivoAssinado_DR
WHERE ACO_RowID='$id_conta_assinar' LIMIT 1 ";
$DadosArquivo = executa($sqlDadosArquivo);
/*echo '<pre>';
echo $DadosArquivo;
echo '</pre>';*/
if (!empty($DadosArquivo)) {
foreach($DadosArquivo as $DadosArquivo) {
$nome_arquivo = $DadosArquivo['ACO_NomeArquivo'];
$totalGeral = $DadosArquivo['RSA_ValorTotal'];
}
}
//************************* FIM PEGA OS DADOS DO ARQUIVO QUE ESTA SENDO CO-ASSINADO**************//
//************************* FIM PEGA OS DADOS DO ARQUIVO QUE ESTA SENDO CO-ASSINADO**************//
$nome_arquivo=str_replace('.p7s','',$nome_arquivo);
$nome_arquivo=$nome_arquivo.".p7s";
/*
echo("<br />.aaasnador $assinador.<br />");
echo("<br />.nome logado $nome_logado.<br />");
echo("<br />.nome arquivo $nome_arquivo.<br />");
echo("<br />.total geral $totalGeral.<br />");
echo("<br />.id conta $id_conta_assinar.<br />");
echo("<br />.hd acao $hdAcao.<br />");
die();
*/
fwrite($fp,"<id_usuario>$assinador</id_usuario>");
fwrite($fp,"<nome_usuario>$nome_logado</nome_usuario>");
fwrite($fp,"<nome_arquivo>$nome_arquivo</nome_arquivo>");
fwrite($fp,"<total_repasse>$totalGeral</total_repasse>");
fwrite($fp,"<id_repasse_conferencia>$id_conta_assinar</id_repasse_conferencia>");
fwrite($fp,"<contas>$contas_pagas</contas>");
fwrite($fp,"<acao>Co-assinar</acao>");
fwrite($fp,"<ambiente>1</ambiente>");
// 1- Desenvolvimento - 2- Homologação 3- Produção
fclose($fp);
//Chama o ActiveX para assinar...
//mysql_query("COMMIT WORK");
$msg = "";
$ir_para = "";
$popup = "conta_assina_activex.php";
}
if ($erro) {
mysql_query("ROLLBACK");
$msg = 'Problemas para assinar o arquivo!';
} else {
mysql_query("COMMIT");
$msg = 'Arquivo assinado com SUCESSO!';
}
}else
{
$erro = true;
$msg = 'Problemas para assinar o arquivo!';
}
if ($erro) {
mysql_query("ROLLBACK");
$msg = 'Problemas para assinar o arquivo!';
} else {
mysql_query("COMMIT");
$msg = 'Arquivo assinado com SUCESSO!';
}
if($hdAcao=="assinar" or $hdAcao=="co-assinar")
{
?>
<script language="javascript" type="text/javascript">
var msg = "<?= $msg;?>";
var ir_para = "<?= $ir_para;?>";
var popup = "<?= $popup;?>";
if (popup != "") {
window.open(popup,'', "width=950,height=800,top=10,left=20,scrollbars=yes, resizable=yes, fullscreen=no");
}
</script>
<?php
}
else
{
?>
<script type="text/javascript">
alert('<?= $msg?>');
if ('<?= !$erro?>') {
window.location = "conta_lista.php";
} else {
history.go(-1);
}
</script>
<?php
}
?>
|