Viewing file: boletos_class_bkp_16.03.2015.php (16.85 KB) -rwxr-xr-x Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
require_once("funcoes_valores.php");
class Boletos{
var $tabela, $view, $campos, $qtd_campos, $campos_data, $campos_valor;
var $conexao, $resultado;
var $primeiro_numero_boleto = 5000;//Para ficar 092[05000]-X
/*
Autor: Rodrigo J Polette
Empresa: NetNigro
Data: 12/05/2009
*/
function Boletos(){
$this->tabela = "irp_servicos_boletos";
$this->view = "view_irp_servicos_boletos";
$this->campos = array("SVB_RowID","SVB_Mensalidade_DR","SVB_DataProcessamento","SVB_DataVencimento","SVB_DataPagamento","SVB_Valor","SVB_ValorPago","SVB_AtivoSN","SVB_UsuarioPagto_DR","SVB_PagoSN","SVB_CanceladoSN","SVB_Justificativa","SVB_MensagemBoleto_DR");
$this->qtd_campos = count($this->campos);
$this->campos_data = array("SVB_DataProcessamento","SVB_DataVencimento","SVB_DataPagamento");
$this->campos_valor = array("SVB_Valor","SVB_ValorPago");
global $conexao;
$this->conexao = $conexao;
}
function get($nome) {
return stripslashes($this->$nome);
}
function set($nome,$valor) {
$this->$nome = $valor;
}
function limpar() {
for ($i=0;$i<$this->qtd_campos;$i++) {
$campo = $this->campos[$i];
unset($this->$campo);
}
}
function carrega($dados) {
if (is_array($dados)) {
reset($dados);
while (list($campo,$valor) = each($dados)) {
if (in_array($campo,$this->campos_data))
$this->$campo = FormataData($valor,'SCREEN');
elseif (in_array($campo,$this->campos_valor))
$this->$campo = FormataValor($valor);
else
$this->$campo = stripslashes($valor);
}
}
}
function verNotNull() {
if (strlen($this->get("SVB_AtivoSN"))==0)
$this->set("SVB_AtivoSN","S");
if (strlen($this->get("SVB_PagoSN"))==0)
$this->set("SVB_PagoSN","N");
if (strlen($this->get("SVB_CanceladoSN"))==0)
$this->set("SVB_CanceladoSN","N");
if (strlen($this->get("SVB_DataProcessamento"))==0)
$this->set("SVB_DataProcessamento",date("d/m/Y"));
if (
(strlen($this->get("SVB_Mensalidade_DR"))==0) or
(strlen($this->get("SVB_DataProcessamento"))==0) or
(strlen($this->get("SVB_DataVencimento"))==0) or
(strlen($this->get("SVB_Valor"))==0) or
(strlen($this->get("SVB_AtivoSN"))==0)
) {
return false;
}
else
return true;
}
function inserir() {
if (!$this->verNotNull())
return false;
//Verifica o número do boleto!
$sql = "SELECT COUNT(*) FROM $this->tabela";
$qtd = mysqli_fetch_row(mysqli_query($this->conexao,$sql));
$qtd = $qtd[0];
if ($qtd == 0)
$this->set("SVB_RowID",$this->primeiro_numero_boleto);
$nomes = "(";
$valores = "(";
for ($i=0;$i<$this->qtd_campos;$i++) {
$campo = $this->campos[$i];
$valor = $this->get($campo);
if (strlen($valor)==0)
$valor = "NULL";
else {
if (in_array($campo,$this->campos_data))
$valor = FormataData($valor,"BD");
elseif (in_array($campo,$this->campos_valor))
$valor = PreparaValor($valor);
$valor = "'$valor'";
}
$nomes .= "$campo,";
$valores .= "$valor,";
}
$nomes = substr($nomes,0,-1).")";
$valores = substr($valores,0,-1).")";
$sql = "INSERT INTO $this->tabela $nomes VALUES $valores";
/*echo "$sql<br />";
$this->set("SVB_RowID",10000);
return true;*/
if (mysqli_query($this->conexao,$sql)) {
$this->set("SVB_RowID",mysqli_insert_id($this->conexao));
return true;
}
else {
$this->set("SVB_RowID","");
return false;
}
}
function alterar($id) {
if (!is_numeric($id)) return false;
if (!$this->verNotNUll())
return false;
$this->set("SVB_RowID",$id);
$sets = "";
for ($i=0;$i<$this->qtd_campos;$i++) {
$campo = $this->campos[$i];
$valor = $this->get($campo);
if (strlen($valor)==0)
$valor = "NULL";
else {
if (in_array($campo,$this->campos_data))
$valor = FormataData($valor,"BD");
elseif (in_array($campo,$this->campos_valor))
$valor = PreparaValor($valor);
$valor = "'$valor'";
}
$sets .= "$campo = $valor,";
}
$sets = substr($sets,0,-1);
$sql = "UPDATE $this->tabela SET $sets WHERE SVB_RowID=$id";
if (mysqli_query($this->conexao,$sql))
return true;
else
return false;
}
function deletar($id) {
if (!$this->buscar($id)) return false;
return mysqli_query($this->conexao,"DELETE FROM $this->tabela WHERE SVB_RowID=$id");
}
function buscar($id) {
if (!is_numeric($id)) return false;
$dados = mysqli_fetch_assoc(mysqli_query($this->conexao,"SELECT * FROM $this->view WHERE SVB_RowID=$id"));
if (is_array($dados)) {
$this->carrega($dados);
return true;
}
else
return false;
}
function listar($where="",$orderby="",$inicio="",$qtd="") {
$sql = "SELECT * FROM $this->view";
if ($where) $sql = $sql." WHERE ".$where;
if ($orderby) $sql = $sql." ORDER BY ".$orderby;
if (is_numeric($inicio) and is_numeric($qtd))
$sql = $sql." LIMIT $inicio, $qtd";
//echo $sql;
$this->resultado = mysqli_query($this->conexao,$sql);
return $this->resultado;
}
function listar2()
{
$sql = "SELECT * FROM view_irp_conarci_boletos";
$this->resultado = mysqli_query($this->conexao,$sql);
return $this->resultado;
}
function listarAtivos($where="",$orderby="",$inicio="",$qtd="") {
if ($where != "")
$where .= " AND ";
$where .= " SVB_AtivoSN = 'S' ";
//AND SVB_DataVencimento = '2013-08-19'
return $this->listar($where,$orderby,$inicio,$qtd);
}
function listarConarci()
{
return $this->listar2();
}
function Fetch($resultado="") {
if ($resultado == "")
$resultado = $this->resultado;
$dados = mysqli_fetch_assoc($resultado);
if ($dados) {
$this->carrega($dados);
return true;
}
else
return false;
}
function pesquisa($busca,$where="",$orderby="",$inicio="",$qtd="") {
if ($where != "")
$where .= " AND ";
if (is_numeric($busca['num_boleto']))
$where .= "SVB_RowID = '".$busca['num_boleto']."' AND ";
if ($busca['data_de'] != "") {
list($dia,$mes,$ano) = explode("/",$busca['data_de']);
if (checkdate($mes,$dia,$ano))
$where .= "SVB_DataPagamento >= '$ano-$mes-$dia' AND ";
else
return false;
}
if ($busca['data_a'] != "") {
list($dia,$mes,$ano) = explode("/",$busca['data_a']);
if (checkdate($mes,$dia,$ano))
$where .= "SVB_DataPagamento <= '$ano-$mes-$dia' AND ";
else
return false;
}
if ($busca['vencto_de'] != "") {
list($dia,$mes,$ano) = explode("/",$busca['vencto_de']);
if (checkdate($mes,$dia,$ano))
$where .= "SVB_DataVencimento >= '$ano-$mes-$dia' AND ";
else
return false;
}
if ($busca['vencto_a'] != "") {
list($dia,$mes,$ano) = explode("/",$busca['vencto_a']);
if (checkdate($mes,$dia,$ano))
$where .= "SVB_DataVencimento <= '$ano-$mes-$dia' AND ";
else
return false;
}
if (in_array($busca['situacao'],array("S","N"))) {//Pagos... Sim ou Não...
$where .= "SVB_PagoSN = '$busca[situacao]' AND ";
}
elseif ($busca['situacao'] == 'C') {//Cancelados
$where .= "SVB_CanceladoSN = 'S' AND ";
}
if (trim($busca['oficio']) != "") {
$busca['oficio'] = str_replace(array(';','\'','"'),' ',trim($busca['oficio']));
$where .= "OFI_Descricao LIKE '%".$busca['oficio']."%' AND ";
}
if (trim($busca['cidade']) != "") {
$busca['cidade'] = str_replace(array(';','\'','"'),' ',trim($busca['cidade']));
$where .= "CID_Descricao LIKE '%".$busca['cidade']."%' AND ";
}
if (trim($busca['oficial']) != "") {
$busca['oficial'] = str_replace(array(';','\'','"'),' ',trim($busca['oficial']));
$where .= "CON_Descricao LIKE '%".$busca['oficial']."%' AND ";
}
$where .= "SVB_MensagemBoleto_DR <> '7' AND ";
$where = substr($where,0,-4);//Remove o ultimo ' AND '
return $this->listarAtivos($where,$orderby,$inicio,$qtd);
}
function setaPagamento($num_boleto,$data_pagto,$valor_pagto,$justificativa="") {
if ((!is_numeric($num_boleto)) or ($data_pagto == "") or ($valor_pagto == ""))
return false;
list($dia,$mes,$ano) = explode('/',$data_pagto);
$data_pagto = "$ano-$mes-$dia";
$valor_pagto = str_replace(array('R$','.',','),array('','','.'),$valor_pagto);
$sql = "UPDATE $this->tabela SET SVB_DataPagamento = '$data_pagto', SVB_ValorPago = '$valor_pagto', SVB_PagoSN = 'S', SVB_Justificativa = '$justificativa' WHERE SVB_RowID = $num_boleto LIMIT 1";
$erro = false;
$erro = !mysqli_query($this->conexao,$sql);
if (!$erro) {
$sql_oficio = "SELECT SRM_Oficio_DR FROM irp_servicos_boletos, irp_servicos_mensalidades WHERE SVB_RowID = $num_boleto AND SVB_Mensalidade_DR = SRM_RowID LIMIT 1";
$id_oficio = mysqli_fetch_assoc(mysqli_query($this->conexao,$sql_oficio));
$id_oficio = $id_oficio['SRM_Oficio_DR'];
$sql = "UPDATE contatos SET CON_AssociadoSN = 'S' WHERE CON_Oficios_DR = $id_oficio";
$erro = !mysqli_query($this->conexao,$sql);
}
if (!$erro)
$this->conexao->commit();
else
$this->conexao->rollback();
return !$erro;
}
function cancelarBoletoMensalidade($num_boleto,$justificativa="") {
if (!$this->buscar($num_boleto))
return false;
if ($this->get('SVB_PagoSN') == 'S')
return -1;//Boleto pago
if ($this->get('SVB_CanceladoSN') == 'S')
return -2;//Boleto já cancelado
$num_mensalidade = $this->get('SVB_Mensalidade_DR');
$sql = "UPDATE $this->tabela SET SVB_CanceladoSN = 'S', SVB_Justificativa = '$justificativa' WHERE SVB_RowID = $num_boleto LIMIT 1";
$sql2 = "UPDATE irp_servicos_mensalidades SET SRM_CanceladoSN = 'S' WHERE SRM_RowID = $num_mensalidade LIMIT 1";
$this->conexao->autocommit(FALSE);
if ((mysqli_query($this->conexao,$sql)) and (mysqli_query($this->conexao,$sql2))) {
$this->conexao->commit();
return true;
}
else {
$this->conexao->rollback();
return -3;//Erro ao cancelar
}
}
function exportarCorreios($mes_referencia,$ano_referencia) {
if ((!is_numeric($mes_referencia)) or (!is_numeric($ano_referencia)))
return false;
$arquivo = $ano_referencia."_".$mes_referencia.".csv";
if (file_exists("./csv/$arquivo")) {
$cont = 1;
while (file_exists("./csv/".$ano_referencia."_".$mes_referencia."_".$cont.".csv"))
$cont++;
$arquivo = $ano_referencia."_".$mes_referencia."_".$cont.".csv";
}
/*$texto_demonstrativo = "Registrador Civil, agora o site do IRPEN conta com uma consulta personalizada de cartórios "
."através da apresentação do mapa do Paraná dividido em Microrregiões Geográficas. Nisso, "
."pedimos o seu auxílio para conferência dos dados de sua serventia apresentados em tela, através "
."do acesso ao site http://arpenpr.org.br, clicando sob o menu “Serviços -> Procure a Serventia "
."Registral do Paraná”<br /><br />"
."Além disso, você que é associado, tem permissão de acesso a conteúdos exclusivos que referem-se "
."exclusivamente aos seus serviços através da digitação de login e senha nos campos dispostos no "
."canto superior da tela. <br /><br />"
."Acesse e confira os recursos que o IRPEN esta disponibilizando a você.<br />"
."Seja um associado. Junte-se a nós nessa caminhada.";
$texto2 = "O XVII CONGRESSO NACIONAL DOS REGISTRADORES DE PESSOAS NATURAIS OCORRERÁ "
."NOS DIAS 07, 08 E 09 DE OUTUBRO DE 2009 NA CIDADE DE CURITIBA!!!<br /><br />"
."EM BREVE TODAS AS INFORMAÇÕES EM NOSSO SITE WWW.IRPEN.ORG.BR";
$texto_demonstrativo = $texto_demonstrativo . "<br /><br />" . $texto2;*/
//$instrucoes = "PAGAVEL PREFERENCIALMENTE NAS COOPERATIVAS DE CREDITO DO SICREDI Valor Total: 250,00 Desconto: 150,00 Valor do Boleto: 100,00 Somente para associados";
$instrucoes = "PAGAVEL PREFERENCIALMENTE NAS COOPERATIVAS DE CREDITO DO SICREDI";
$separador = ";";
$delimitador = "\"";
//Nomes que aparecerão no CSV
$nomes_campos = array("NossoNumero","NumeroDocumento","DataProcessamento","DataVencimento","Valor","MesReferencia","AnoReferencia","NomeOficio","CNPJ","CaixaPostal","Cidade","Estado","Cep","Bairro","Endereco","Complemento","EnderecoCorrespondencia","CidadeCorrespondencia","BairroCorrespondencia","CEPCorrespondencia","UFCorrespondencia","SVM_Mensagem");
//Nomes correspondentes a View
$campos_csv = array("SVB_RowID","SVB_RowID","SVB_DataProcessamento","SVB_DataVencimento","SVB_Valor","SRM_MesReferencia","SRM_AnoReferencia","OFI_Descricao","OFI_CNPJ","OFI_CaixaPostal","CID_Descricao","OFI_Estado","OFI_Cep","OFI_Bairro","OFI_Endereco","OFI_ComplEnd","OFI_EnderecoCorrespondencia","OFI_CidadeCorrespondencia","OFI_BairroCorrespondencia","OFI_CEPCorrespondencia","OFI_UFCorrespondencia","SVM_Mensagem");
$qtd_campos = count($campos_csv);
$fp_csv = fopen("./csv/$arquivo","w+");
if (!$fp_csv)
return false;
else {
fwrite($fp_csv,implode($separador,$nomes_campos).";TextoDemonstrativo;Instrucoes"."\n");
$this->listarAtivos("SRM_MesReferencia = '$mes_referencia' AND SRM_AnoReferencia = '$ano_referencia'");
$cont = 0;
while ($this->Fetch()) {
$linha_dados = "";
for ($i=0;$i<$qtd_campos;$i++) {
if ($nomes_campos[$i] == "NossoNumero")
$linha_dados .= $demilitador."2".sprintf('%05.0f',$this->get($campos_csv[$i])).$demilitador.$separador;
else
$linha_dados .= $demilitador.$this->get($campos_csv[$i]).$demilitador.$separador;
}
$linha_dados .= $demilitador.$instrucoes.$demilitador.$separador;
fwrite($fp_csv,substr($linha_dados,0,strlen($linha_dados) - strlen($separador))."\n");
}
fclose($fp_csv);
}
return true;
}
function exportarCorreiosConarci()
{
$arquivo = date('Y-m-d').".csv";
if (file_exists("./csv_conarci/$arquivo")) {
$cont = 1;
while (file_exists("./csv_conarci/".date('Y-m-d')."_".$cont.".csv"))
$cont++;
$arquivo = date('Y-m-d')."_".$cont.".csv";
}
$instrucoes = "PAGAVEL PREFERENCIALMENTE NAS COOPERATIVAS DE CREDITO DO SICREDI Valor Total: 250,00 Desconto: 150,00 Valor do Boleto: 100,00 Somente para associados";
$separador = ";";
$delimitador = "\"";
//Nomes que aparecerão no CSV
$nomes_campos = array("NossoNumero","NumeroDocumento","DataProcessamento","DataVencimento","Valor","MesReferencia","AnoReferencia","NomeOficio","CNPJ","CaixaPostal","Cidade","Estado","Cep","Bairro","Endereco","Complemento","EnderecoCorrespondencia","CidadeCorrespondencia","BairroCorrespondencia","CEPCorrespondencia","UFCorrespondencia","SVM_Mensagem");
//Nomes correspondentes a View
$campos_csv = array("SVB_RowID","SVB_RowID","SVB_DataProcessamento","SVB_DataVencimento","SVB_Valor","SRM_MesReferencia","SRM_AnoReferencia","OFI_Descricao","OFI_CNPJ","OFI_CaixaPostal","CID_Descricao","OFI_Estado","OFI_Cep","OFI_Bairro","OFI_Endereco","OFI_ComplEnd","OFI_EnderecoCorrespondencia","OFI_CidadeCorrespondencia","OFI_BairroCorrespondencia","OFI_CEPCorrespondencia","OFI_UFCorrespondencia","SVM_Mensagem");
$qtd_campos = count($campos_csv);
$fp_csv = fopen("./csv_conarci/$arquivo","w+");
if (!$fp_csv)
return false;
else {
fwrite($fp_csv,implode($separador,$nomes_campos).";TextoDemonstrativo;Instrucoes"."\n");
$this->listarConarci();
$cont = 0;
while ($this->Fetch()) {
$linha_dados = "";
for ($i=0;$i<$qtd_campos;$i++) {
if ($nomes_campos[$i] == "NossoNumero")
$linha_dados .= $demilitador."2".sprintf('%05.0f',$this->get($campos_csv[$i])).$demilitador.$separador;
else
$linha_dados .= $demilitador.$this->get($campos_csv[$i]).$demilitador.$separador;
}
$linha_dados .= $demilitador.$instrucoes.$demilitador.$separador;
fwrite($fp_csv,substr($linha_dados,0,strlen($linha_dados) - strlen($separador))."\n");
}
fclose($fp_csv);
}
return true;
}
}
/*
SELECT SVB_RowID + 200000, SVB_RowID, SVB_DataProcessamento, SVB_DataVencimento, SVB_Valor, SRM_MesReferencia, SRM_AnoReferencia,
OFI_Descricao, OFI_CNPJ, OFI_CaixaPostal, CID_Descricao, 'PR', OFI_CEP, OFI_Bairro, OFI_Endereco,
OFI_ComplEnd, OFI_EnderecoCorrespondencia, OFI_CidadeCorrespondencia, OFI_BairroCorrespondencia,
OFI_CEPCorrespondencia, OFI_UFCorrespondencia
FROM irp_servicos_boletos
INNER JOIN irp_servicos_mensalidades ON SRM_RowID = SVB_Mensalidade_DR
INNER JOIN oficios ON OFI_RowID = SRM_Oficio_DR
INNER JOIN cidades ON CID_RowID = OFI_Cidades_DR
WHERE SRM_MesReferencia = 5
*/
?>
|