-
Notifications
You must be signed in to change notification settings - Fork 0
/
arrecadacao-propria.php
72 lines (57 loc) · 2.47 KB
/
arrecadacao-propria.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?php
/**
* @description: Arrecadação Própria
*
* Calcula o valor de arrecadação própria para a remessa.
*
* Arrecadação própria corresponde ao valor dos recursos previstos/arrecadados pelo esforço direto do ente.
*
*/
require 'vendor/autoload.php';
printnl('=======================================================================');
printnl('ARRECADAÇÃO PRÓPRIA');
printnl('Calcula o valor das receitas que dependem do próprio esforço de');
printnl('arrecadação.');
printnl('=======================================================================');
printnl('');
printnl('');
$cfg = load_config();
$remessa = read_remessa();
notice("Remessa selecionada: {$remessa->remessa}.");
// Calcula os valores
$sql = "SELECT
sum(receita_orcada)::numeric AS previsao_inicial,
sum(previsao_atualizada)::numeric AS previsao_atualizada,
sum(receita_realizada)::numeric AS arrecadado
FROM pad.bal_rec
WHERE tipo_nivel_receita ~~ 'A'::text
AND (fonte_recurso = ANY (ARRAY[500, 501, 502]))
AND natureza_receita::text !~~ '17%'::text
AND entidade::text ~~ 'pm'::text
AND remessa = $1;";
// Acumulado da remessa
$result = pg_query_params(connect(), $sql, [$remessa->remessa]);
$previsao_inicial = pg_fetch_assoc($result, 0)['previsao_inicial'];
$previsao_atualizada = pg_fetch_assoc($result, 0)['previsao_atualizada'];
$arrecadado = pg_fetch_assoc($result, 0)['arrecadado'];
// Acumulado da remessa anterior
if($remessa->mes === 1){
$arrecadado_anterior = 0.0;
}else{
$remessa_anterior = sprintf('%s%02s', $remessa->ano, $remessa->mes - 1);
$result = pg_query_params(connect(), $sql, [$remessa_anterior]);
$arrecadado_anterior = pg_fetch_assoc($result, 0)['arrecadado'];
}
$arrecadado_mes = $arrecadado - $arrecadado_anterior;
printnl('');
printnl('');
// Resumo
printnl('=======================================================================');
printnl('RESULTADO');
printnl('-----------------------------------------------------------------------');
printnl("\t\tPrevisão Inicial\tPrevisão Atualizada\tArrecadado");
printnl(sprintf("No mês\t\t\t\t%s\t\t%s\t\t%s", '', '', fmt_currency($arrecadado_mes)));
printnl(sprintf("Acumulado\t%s\t\t%s\t\t%s", fmt_currency($previsao_inicial), fmt_currency($previsao_atualizada), fmt_currency($arrecadado)));
printnl('-----------------------------------------------------------------------');
printnl('=======================================================================');
notice('Processo terminado!');