| Server IP : 20.75.53.88 / Your IP : 216.73.217.72 [ Web Server : Apache System : Linux VMRALP-3 4.4.0-256-generic #290~14.04.1-Ubuntu SMP Thu Jun 20 09:24:50 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29+esm15 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, Domains : 3 Domains MySQL : ON | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/html/apitce/dev/ext/ |
Upload File : |
<?php
/**
* Created by PhpStorm.
* User: Wladimir
* Date: 11/02/2017
* Time: 16:42
*/
class liquidacoes extends liquidacoesDAO
{
public function geraTabelaRelatorio($cod_orgao, $data_inicio, $data_fim, $group)
{
$res = $this->ObterPorRelatorio($cod_orgao, $data_inicio, $data_fim, $group);
$n_pagamentos = new notas_pagamentos();
$analises = new analises();
$html = "";
$html .= "<table class='bpmTopnTailC dtabelas dt-responsive table table-hover table-striped table-condensed' cellspacing='0' width='100%'>";
$html
.= "<thead>
<tr class='headerrow'>";
$html .= "<td>QTD</td>";
if ($group == "codigo_elemento_despesa")
$html .= "<td>elemento despesa</td>";
if ($group == "numero_empenho")
$html .= "<td>numero empenho</td>";
$html .= "<td>valor empenhado</td>";
$html .= "<td>valor liquidado</td>";
$html .= "<td>valor pago</td>";
if ($group == "nome_negociante")
$html .= "<td>nome negociante</td>";
if ($group == "codigo_elemento_despesa") {
$html .= "<td>analisado</td>";
$html .= "<td>regular</td>";
$html .= "<td>irregular</td>";
}
$html
.= "</thead>
</tr>";
$html .= "<tbody>";
$i = 1;
foreach ($res as $r) {
$notas = $n_pagamentos->ObterPorOrgaoElemento($cod_orgao, $r->getExercicio_orcamento());
if ($notas) {
$qtd_ele_pag = $notas->getCodigo_unidade();
} else {
$qtd_ele_pag = 1;
}
$regular_on = $analises->ObterPorOrgaoContEle($cod_orgao, $r->getExercicio_orcamento(), '1')->getCod_analise();
$regular_off = $analises->ObterPorOrgaoContEle($cod_orgao, $r->getExercicio_orcamento(), '0')->getCod_analise();
// echo $cod_orgao." - ". $r->getEstado_folha(). "-T>>". $qtd_ele_pag ."<<-R>> ".$regular_on."<<<br>";
$rgular_tat = $regular_on + $regular_off;
$porcento_feito = ($rgular_tat / $qtd_ele_pag) * 100;
$porcento_regular = ($regular_on / $qtd_ele_pag) * 100;
$porcento_n_regular = ($regular_off / $qtd_ele_pag) * 100;
$html .= "<tr>";
$html .= "<td >$i</td>";
if ($group == "codigo_elemento_despesa")
$html .= "<td >" . $r->getExercicio_orcamento() . "</td>";
if ($group == "numero_empenho")
$html .= "<td >" . $r->getCodigo_unidade() . "</td>";
$html .= "<td >" . number_format($r->getNumero_empenho(), 2, ',', '.') . "</td>";
$html .= "<td >" . number_format($r->getValor_liquidado(), 2, ',', '.') . "</td>";
$html .= "<td >" . number_format($r->getData_liquidacao(), 2, ',', '.') . "</td>";
if ($group == "nome_negociante")
$html .= "<td >" . $r->getData_emissao_empenho() . "</td>";
if ($group == "codigo_elemento_despesa") {
$html .= "<td >" . number_format($porcento_feito, 2, '.', '') . " %</td>";
$html .= "<td >" . number_format($porcento_regular, 2, '.', '') . " % </td>";
$html .= "<td >" . number_format($porcento_n_regular, 2, '.', '') . " %</td>";
}
$html .= "</tr>";
$i++;
}
$html .= "</tbody>";
$html .= "</table>";
return $html;
}
public function ObterPorRelatorio($cod_orgao, $data_inicio, $data_fim, $group)
{
# Faz conex�o
$conexao = new conexaoBanco();
$conexao->conectar();
# Executa comando SQL
$stmt = $conexao->pdo->prepare("SELECT
notas_empenhos.codigo_elemento_despesa AS codigo_elemento_despesa,
Sum(
liquidacoes.valor_liquidado
) AS valor_liquidado,
Sum(
notas_pagamentos.valor_nota_pagamento
) AS valor_nota_pagamento,
liquidacoes.numero_empenho AS numero_empenho,
notas_empenhos.nome_negociante AS nome_negociante,
Sum(
notas_empenhos.valor_empenhado
) AS valor_empenhado
FROM
liquidacoes
INNER JOIN notas_empenhos ON notas_empenhos.exercicio_orcamento = liquidacoes.exercicio_orcamento
AND notas_empenhos.numero_empenho = liquidacoes.numero_empenho
AND notas_empenhos.codigo_orgao = liquidacoes.codigo_orgao
AND notas_empenhos.codigo_municipio = liquidacoes.codigo_municipio
INNER JOIN notas_pagamentos ON liquidacoes.codigo_municipio = notas_pagamentos.codigo_municipio
AND liquidacoes.exercicio_orcamento = notas_pagamentos.exercicio_orcamento
AND liquidacoes.codigo_orgao = notas_pagamentos.codigo_orgao
AND liquidacoes.numero_empenho = notas_pagamentos.numero_empenho
WHERE
notas_pagamentos.codigo_orgao = ?
AND notas_pagamentos.data_nota_pagamento >= '$data_inicio'
AND notas_pagamentos.data_nota_pagamento <= '$data_fim'
GROUP BY
notas_empenhos.$group
ORDER BY
notas_empenhos.$group");
// Executa Query
$stmt->bindValue(1, $cod_orgao);
$stmt->execute();
$retorno = $stmt->fetchAll(PDO::FETCH_ASSOC);
$lista = array();
$i = 0;
foreach ($retorno as $row) {
#Inst�ncia da entidade
$liquidacoesBE = new liquidacoesBE();
#Atribui valores
$liquidacoesBE->setExercicio_orcamento($row['codigo_elemento_despesa']);
//$liquidacoesBE->setCodigo_orgao($row['codigo_orgao']);
$liquidacoesBE->setCodigo_unidade($row['numero_empenho']);
$liquidacoesBE->setData_emissao_empenho($row['nome_negociante']);
$liquidacoesBE->setNumero_empenho($row['valor_empenhado']);
$liquidacoesBE->setData_liquidacao($row['valor_nota_pagamento']);
// $liquidacoesBE->setData_referencia_liquidacao($row['data_referencia_liquidacao']);
// $liquidacoesBE->setNome_responsavel_liquidacao($row['nome_responsavel_liquidacao']);
// $liquidacoesBE->setNumero_sub_empenho_liquidacao($row['numero_sub_empenho_liquidacao']);
$liquidacoesBE->setValor_liquidado($row['valor_liquidado']);
// $liquidacoesBE->setEstado_de_estorno($row['estado_de_estorno']);
//$liquidacoesBE->setEstado_folha($row['estado_folha']);
// $liquidacoesBE->setCpf_responsavel_liquidacao($row['cpf_responsavel_liquidacao']);
$lista[$i] = $liquidacoesBE;
$i++;
}
return $lista;
}
public function ObterPorRelatorio2($cod_orgao, $data_inicio, $data_fim, $fornercedor)
{
if ($fornercedor != '0') {
$forn = "AND notas_empenhos.nome_negociante LIKE '$fornercedor' ";
} else {
$forn = "";
}
if ($cod_orgao != '0') {
$orgao = "AND liquidacoes.codigo_orgao = $cod_orgao ";
} else {
$orgao = "";
}
# Faz conex�o
$conexao = new conexaoBanco();
$conexao->conectar();
# Executa comando SQL
$stmt = $conexao->pdo->prepare("SELECT
liquidacoes.codigo_orgao,
codigo_elemento_despesa,
liquidacoes.numero_empenho AS numero_empenho,
notas_empenhos.nome_negociante AS nome_negociante,
notas_empenhos.data_emissao_empenho,
valor_empenhado,
data_liquidacao,
valor_liquidado
FROM
liquidacoes
INNER JOIN notas_empenhos ON notas_empenhos.exercicio_orcamento = liquidacoes.exercicio_orcamento
AND notas_empenhos.numero_empenho = liquidacoes.numero_empenho
AND notas_empenhos.codigo_orgao = liquidacoes.codigo_orgao
AND notas_empenhos.codigo_municipio = liquidacoes.codigo_municipio
WHERE 1 = 1
AND data_liquidacao >= '$data_inicio'
AND data_liquidacao <= '$data_fim'
$forn
$orgao
ORDER BY liquidacoes.codigo_orgao");
// Executa Query
$stmt->execute();
$retorno = $stmt->fetchAll(PDO::FETCH_ASSOC);
$lista = array();
$i = 0;
foreach ($retorno as $row) {
#Inst�ncia da entidade
$liquidacoesBE = new liquidacoesBE();
#Atribui valores
$liquidacoesBE->setExercicio_orcamento($row['codigo_elemento_despesa']);
$liquidacoesBE->setCodigo_orgao($row['codigo_orgao']);
$liquidacoesBE->setCodigo_unidade($row['numero_empenho']);
$liquidacoesBE->setData_emissao_empenho($row['data_emissao_empenho']);
$liquidacoesBE->setNumero_empenho($row['valor_empenhado']);
$liquidacoesBE->setData_liquidacao($row['data_liquidacao']);
// $liquidacoesBE->setData_referencia_liquidacao($row['data_referencia_liquidacao']);
// $liquidacoesBE->setNome_responsavel_liquidacao($row['nome_responsavel_liquidacao']);
// $liquidacoesBE->setNumero_sub_empenho_liquidacao($row['numero_sub_empenho_liquidacao']);
$liquidacoesBE->setValor_liquidado($row['valor_liquidado']);
// $liquidacoesBE->setEstado_de_estorno($row['estado_de_estorno']);
$liquidacoesBE->setEstado_folha($row['nome_negociante']);
// $liquidacoesBE->setCpf_responsavel_liquidacao($row['cpf_responsavel_liquidacao']);
$lista[$i] = $liquidacoesBE;
$i++;
}
return $lista;
}
public function ObterPorOrgaoElementoMeses($exercicio, $municipio, $codigo_orgao, $elemento)
{
if ($codigo_orgao > 0) {
$result = " AND liquidacoes.codigo_orgao = $codigo_orgao ";
} else {
$result = " AND liquidacoes.codigo_orgao != 01 ";
}
# Faz conex�o
$conexao = new conexaoBanco();
$conexao->conectar();
# Executa comando SQL
$stmt = $conexao->pdo->prepare("SELECT
MONTH (
data_liquidacao
) AS data_liquidacao,
SUM(
liquidacoes.valor_liquidado
) valor_liquidado
FROM
liquidacoes
INNER JOIN notas_empenhos ON notas_empenhos.codigo_municipio = liquidacoes.codigo_municipio
AND notas_empenhos.exercicio_orcamento = liquidacoes.exercicio_orcamento
AND notas_empenhos.codigo_orgao = liquidacoes.codigo_orgao
AND notas_empenhos.numero_empenho = liquidacoes.numero_empenho
WHERE codigo_elemento_despesa = ?
AND notas_empenhos.exercicio_orcamento = ?
AND liquidacoes.codigo_municipio = ?
$result
AND data_liquidacao > 0
GROUP BY
MONTH (
data_liquidacao
)");
// Executa Query
$stmt->bindValue(1, $elemento);
$stmt->bindValue(2, $exercicio);
$stmt->bindValue(3, $municipio);
$stmt->execute();
$retorno = $stmt->fetchAll(PDO::FETCH_ASSOC);
$lista = array();
$i = 0;
foreach ($retorno as $row) {
#Inst�ncia da entidade
$liquidacoesBE = new liquidacoesBE();
#Atribui valores
//$liquidacoesBE->setExercicio_orcamento($row['codigo_elemento_despesa']);
//$liquidacoesBE->setCodigo_orgao($row['codigo_orgao']);
//$liquidacoesBE->setCodigo_unidade($row['numero_empenho']);
//$liquidacoesBE->setData_emissao_empenho($row['nome_negociante']);
//$liquidacoesBE->setNumero_empenho($row['valor_empenhado']);
$liquidacoesBE->setData_liquidacao($row['data_liquidacao']);
// $liquidacoesBE->setData_referencia_liquidacao($row['data_referencia_liquidacao']);
// $liquidacoesBE->setNome_responsavel_liquidacao($row['nome_responsavel_liquidacao']);
// $liquidacoesBE->setNumero_sub_empenho_liquidacao($row['numero_sub_empenho_liquidacao']);
$liquidacoesBE->setValor_liquidado($row['valor_liquidado']);
// $liquidacoesBE->setEstado_de_estorno($row['estado_de_estorno']);
//$liquidacoesBE->setEstado_folha($row['estado_folha']);
// $liquidacoesBE->setCpf_responsavel_liquidacao($row['cpf_responsavel_liquidacao']);
$lista[$i] = $liquidacoesBE;
$i++;
}
return $lista;
}
public function geraTabelaGeral($cod_orgao)
{
$res = $this->ObterPorOrgaosTodos($cod_orgao);
$data = new Data();
echo "<table id='datatable' class='display' cellspacing='0' width='100%'>";
echo "<thead>";
echo "<tr>";
echo "<td>QTD</td>";
echo "<td>Numero_empenho</td>";
echo "<td>Data_liquidacao</td>";
echo "<td>Nome_responsavel_liquidacao</td>";
echo "<td>Valor_liquidado</td>";
echo "</tr>";
echo "</thead>";
echo "<tbody>";
$i = 1;
foreach ($res as $r) {
echo "<tr>";
echo "<td >$i</td>";
echo "<td >" . $r->getNumero_empenho() . "</td>";
echo "<td >" . date("d/m/Y", strtotime($r->getData_liquidacao())) . "</td>";
echo "<td >" . $r->getNome_responsavel_liquidacao() . "</td>";
echo "<td > R$ " . number_format($r->getValor_liquidado(), 2, ',', '.') . "</td>";
echo "</tr>";
$i++;
}
echo "</tbody>";
echo "</table>";
}
public function ObterPorOrgaosTodos($codigo_orgao)
{
# Faz conexão
$conexao = new conexaoBanco();
$conexao->conectar();
# Executa comando SQL
$stmt = $conexao->pdo->prepare('SELECT * FROM liquidacoes WHERE codigo_orgao = ?');
// Executa Query
$stmt->bindValue(1, $codigo_orgao);
$stmt->execute();
$retorno = $stmt->fetchAll(PDO::FETCH_ASSOC);
$lista = array();
$i = 0;
foreach ($retorno as $row) {
#Instância da entidade
$liquidacoesBE = new liquidacoesBE();
#Atribui valores
$liquidacoesBE->setCodigo_municipio($row['codigo_municipio']);
$liquidacoesBE->setExercicio_orcamento($row['exercicio_orcamento']);
$liquidacoesBE->setCodigo_orgao($row['codigo_orgao']);
$liquidacoesBE->setCodigo_unidade($row['codigo_unidade']);
$liquidacoesBE->setData_emissao_empenho($row['data_emissao_empenho']);
$liquidacoesBE->setNumero_empenho($row['numero_empenho']);
$liquidacoesBE->setData_liquidacao($row['data_liquidacao']);
$liquidacoesBE->setData_referencia_liquidacao($row['data_referencia_liquidacao']);
$liquidacoesBE->setNome_responsavel_liquidacao($row['nome_responsavel_liquidacao']);
$liquidacoesBE->setNumero_sub_empenho_liquidacao($row['numero_sub_empenho_liquidacao']);
$liquidacoesBE->setValor_liquidado($row['valor_liquidado']);
$liquidacoesBE->setEstado_de_estorno($row['estado_de_estorno']);
$liquidacoesBE->setEstado_folha($row['estado_folha']);
$liquidacoesBE->setCpf_responsavel_liquidacao($row['cpf_responsavel_liquidacao']);
$lista[$i] = $liquidacoesBE;
$i++;
}
return $lista;
}
public function geraTabelaLiquidaPorElemento($cod_orgao)
{
$n_pagamentos = new notas_pagamentos();
$res = $this->ObterPorOrgaoElemento($cod_orgao);
$form_elemento = new formate_elemento();
$analises = new analises();
echo "<table class='table table-striped table-hover dt-responsive' cellspacing='0' width='100%'>";
echo "<td>QTD</td>";
echo "<td>ELEMENTOS DE DESPESAS</td>";
echo "<td>VALOR LIQUIDADO</td>";
echo "<td>VALOR PAGO</td>";
echo "<td>LIQUIDADO E N�O PAGO</td>";
echo "<td>ANALISADO</td>";
echo "<td>ANALISADO REGULAR</td>";
echo "<td>ANALISADO NAO REGULAR</td>";
echo "<tbody>";
$i = 1;
foreach ($res as $r) {
$notas = $n_pagamentos->ObterPorOrgaoElemento($cod_orgao, $r->getEstado_folha());
if ($notas) {
$qtd_ele_pag = $notas->getCodigo_unidade();
$pago = $notas->getValor_nota_pagamento();
} else {
$qtd_ele_pag = 0;
$pago = 0;
}
$liqui = $r->getValor_liquidado();
$difer = ($liqui - $pago);
$regular_on = $analises->ObterPorOrgaoContEle($cod_orgao, $r->getEstado_folha(), '1')->getCod_analise();
$regular_off = $analises->ObterPorOrgaoContEle($cod_orgao, $r->getEstado_folha(), '0')->getCod_analise();
$rgular_tat = $regular_on + $regular_off;
$porcento_feito = ($rgular_tat / $qtd_ele_pag) * 100;
$porcento_regular = ($regular_on / $qtd_ele_pag) * 100;
$porcento_n_regular = ($regular_off / $qtd_ele_pag) * 100;
echo "<tr>";
echo "<td >$i</td>";
echo "<td >" . $elemento = $form_elemento->f_elemento($r->getEstado_folha()) . "</td>";
echo "<td > R$ " . number_format($liqui, 2, ',', '.') . "</td>";
echo "<td > R$ " . number_format($pago, 2, ',', '.') . "</td>";
echo "<td > R$ " . number_format($difer, 2, ',', '.') . "</td>";
echo "<td >" . number_format($porcento_feito, 2, '.', '') . " % de $qtd_ele_pag</td>";
echo "<td >" . number_format($porcento_regular, 2, '.', '') . " % </td>";
echo "<td >" . number_format($porcento_n_regular, 2, '.', '') . " %</td>";
echo "</tr>";
$i++;
}
echo "</tbody>";
echo "</table>";
}
public function ObterPorOrgaoElemento($cod_orgao)
{
# Faz conex�o
$conexao = new conexaoBanco();
$conexao->conectar();
# Executa comando SQL
$stmt = $conexao->pdo->prepare('SELECT
notas_empenhos.codigo_elemento_despesa,
SUM(
liquidacoes.valor_liquidado
) valor_liquidado
FROM
liquidacoes
INNER JOIN notas_empenhos ON notas_empenhos.exercicio_orcamento = liquidacoes.exercicio_orcamento
AND notas_empenhos.numero_empenho = liquidacoes.numero_empenho
AND notas_empenhos.codigo_orgao = liquidacoes.codigo_orgao
AND notas_empenhos.codigo_municipio = liquidacoes.codigo_municipio
WHERE
liquidacoes.codigo_orgao = ?
GROUP BY
codigo_elemento_despesa
ORDER BY
codigo_elemento_despesa ASC');
// Executa Query
$stmt->bindValue(1, $cod_orgao);
$stmt->execute();
$retorno = $stmt->fetchAll(PDO::FETCH_ASSOC);
$lista = array();
$i = 0;
foreach ($retorno as $row) {
#Inst�ncia da entidade
$liquidacoesBE = new liquidacoesBE();
#Atribui valores
$liquidacoesBE->setEstado_folha($row['codigo_elemento_despesa']);
$liquidacoesBE->setValor_liquidado($row['valor_liquidado']);
$lista[$i] = $liquidacoesBE;
$i++;
}
return $lista;
}
}