Commit 719b9f1dbb5c01bb635d5cb03f8637ac09b01d6f
1 parent
39efb18d
Exists in
2.9
and in
8 other branches
View situação 2019-02-28
Showing
3 changed files
with
386 additions
and
72 deletions
Show diff stats
database/migrations/2019_02_28_141626_corrige_view_situacao.php
0 → 100644
@@ -0,0 +1,30 @@ | @@ -0,0 +1,30 @@ | ||
1 | +<?php | ||
2 | + | ||
3 | +use App\Support\Database\AsView; | ||
4 | +use Illuminate\Database\Migrations\Migration; | ||
5 | + | ||
6 | +class CorrigeViewSituacao extends Migration | ||
7 | +{ | ||
8 | + use AsView; | ||
9 | + | ||
10 | + /** | ||
11 | + * Run the migrations. | ||
12 | + * | ||
13 | + * @return void | ||
14 | + */ | ||
15 | + public function up() | ||
16 | + { | ||
17 | + $this->createView('relatorio.view_situacao', '2019-02-28'); | ||
18 | + } | ||
19 | + | ||
20 | + /** | ||
21 | + * Reverse the migrations. | ||
22 | + * | ||
23 | + * @return void | ||
24 | + */ | ||
25 | + public function down() | ||
26 | + { | ||
27 | + $this->dropView('relatorio.view_situacao'); | ||
28 | + $this->createView('relatorio.view_situacao', '2019-01-01'); | ||
29 | + } | ||
30 | +} |
database/sqls/views/relatorio.view_situacao-2019-02-28.sql
0 → 100644
@@ -0,0 +1,178 @@ | @@ -0,0 +1,178 @@ | ||
1 | +CREATE OR REPLACE VIEW relatorio.view_situacao AS | ||
2 | +SELECT | ||
3 | + matricula.cod_matricula, | ||
4 | + situacao_matricula.cod_situacao, | ||
5 | + matricula_turma.ref_cod_turma AS cod_turma, | ||
6 | + matricula_turma.sequencial, | ||
7 | + ( | ||
8 | + CASE | ||
9 | + WHEN matricula_turma.remanejado THEN | ||
10 | + 'Remanejado'::character varying | ||
11 | + WHEN matricula_turma.transferido THEN | ||
12 | + 'Transferido'::character varying | ||
13 | + WHEN matricula_turma.reclassificado THEN | ||
14 | + 'Reclassificado'::character varying | ||
15 | + WHEN matricula_turma.abandono THEN | ||
16 | + 'Abandono'::character varying | ||
17 | + WHEN matricula.aprovado = 1 THEN | ||
18 | + 'Aprovado'::character varying | ||
19 | + WHEN matricula.aprovado = 12 THEN | ||
20 | + 'Ap. Depen.'::character varying | ||
21 | + WHEN matricula.aprovado = 13 THEN | ||
22 | + 'Ap. Cons.'::character varying | ||
23 | + WHEN matricula.aprovado = 2 THEN | ||
24 | + 'Reprovado'::character varying | ||
25 | + WHEN matricula.aprovado = 3 THEN | ||
26 | + 'Cursando'::character varying | ||
27 | + WHEN matricula.aprovado = 4 THEN | ||
28 | + 'Transferido'::character varying | ||
29 | + WHEN matricula.aprovado = 5 THEN | ||
30 | + 'Reclassificado'::character varying | ||
31 | + WHEN matricula.aprovado = 6 THEN | ||
32 | + 'Abandono'::character varying | ||
33 | + WHEN matricula.aprovado = 14 THEN | ||
34 | + 'Rp. Faltas'::character varying | ||
35 | + WHEN matricula.aprovado = 15 THEN | ||
36 | + 'Falecido'::character varying | ||
37 | + ELSE 'Recl'::character varying | ||
38 | + END | ||
39 | + ) AS texto_situacao, | ||
40 | + ( | ||
41 | + CASE | ||
42 | + WHEN matricula_turma.remanejado THEN | ||
43 | + 'Rem'::character varying | ||
44 | + WHEN matricula_turma.transferido THEN | ||
45 | + 'Trs'::character varying | ||
46 | + WHEN matricula_turma.reclassificado THEN | ||
47 | + 'Recl'::character varying | ||
48 | + WHEN matricula_turma.abandono THEN | ||
49 | + 'Aba'::character varying | ||
50 | + WHEN matricula.aprovado = 1 THEN | ||
51 | + 'Apr'::character varying | ||
52 | + WHEN matricula.aprovado = 12 THEN | ||
53 | + 'ApDp'::character varying | ||
54 | + WHEN matricula.aprovado = 13 THEN | ||
55 | + 'ApCo'::character varying | ||
56 | + WHEN matricula.aprovado = 2 THEN | ||
57 | + 'Rep'::character varying | ||
58 | + WHEN matricula.aprovado = 3 THEN | ||
59 | + 'Cur'::character varying | ||
60 | + WHEN matricula.aprovado = 4 THEN | ||
61 | + 'Trs'::character varying | ||
62 | + WHEN matricula.aprovado = 5 THEN | ||
63 | + 'Recl'::character varying | ||
64 | + WHEN matricula.aprovado = 6 THEN | ||
65 | + 'Aba'::character varying | ||
66 | + WHEN matricula.aprovado = 14 THEN | ||
67 | + 'RpFt'::character varying | ||
68 | + WHEN matricula.aprovado = 15 THEN | ||
69 | + 'Fal'::character varying | ||
70 | + ELSE 'Recl'::character varying | ||
71 | + END | ||
72 | + ) AS texto_situacao_simplificado | ||
73 | +FROM | ||
74 | + relatorio.situacao_matricula, | ||
75 | + pmieducar.matricula | ||
76 | +JOIN pmieducar.escola | ||
77 | + ON escola.cod_escola = matricula.ref_ref_cod_escola | ||
78 | +JOIN pmieducar.instituicao | ||
79 | + ON instituicao.cod_instituicao = escola.ref_cod_instituicao | ||
80 | +LEFT JOIN pmieducar.matricula_turma | ||
81 | + ON matricula_turma.ref_cod_matricula = matricula.cod_matricula | ||
82 | +WHERE TRUE | ||
83 | + AND matricula.ativo = 1 | ||
84 | + AND ( | ||
85 | + CASE WHEN instituicao.data_base_remanejamento IS NULL THEN | ||
86 | + COALESCE(matricula_turma.remanejado, false) = false | ||
87 | + ELSE | ||
88 | + true | ||
89 | + END | ||
90 | + ) | ||
91 | + AND ( | ||
92 | + CASE WHEN matricula.aprovado = 4 THEN | ||
93 | + matricula_turma.ativo = 1 | ||
94 | + OR matricula_turma.transferido | ||
95 | + OR matricula_turma.reclassificado | ||
96 | + OR matricula_turma.remanejado | ||
97 | + OR matricula_turma.sequencial = ( | ||
98 | + ( | ||
99 | + SELECT max(mt.sequencial) AS max | ||
100 | + FROM pmieducar.matricula_turma mt | ||
101 | + WHERE mt.ref_cod_matricula = matricula.cod_matricula | ||
102 | + ) | ||
103 | + ) | ||
104 | + WHEN matricula.aprovado = 6 THEN | ||
105 | + matricula_turma.ativo = 1 | ||
106 | + OR matricula_turma.abandono | ||
107 | + OR ( | ||
108 | + ( | ||
109 | + matricula_turma.transferido | ||
110 | + OR matricula_turma.reclassificado | ||
111 | + OR matricula_turma.remanejado | ||
112 | + ) | ||
113 | + AND matricula_turma.sequencial < ( | ||
114 | + SELECT max(mt.sequencial) AS max | ||
115 | + FROM pmieducar.matricula_turma mt | ||
116 | + WHERE mt.ref_cod_matricula = matricula.cod_matricula | ||
117 | + ) | ||
118 | + ) | ||
119 | + WHEN matricula.aprovado = 15 THEN | ||
120 | + matricula_turma.ativo = 1 | ||
121 | + OR matricula_turma.falecido | ||
122 | + WHEN matricula.aprovado = 5 THEN | ||
123 | + matricula_turma.ativo = 1 | ||
124 | + OR matricula_turma.reclassificado | ||
125 | + ELSE matricula_turma.ativo = 1 | ||
126 | + OR matricula_turma.transferido | ||
127 | + OR matricula_turma.reclassificado | ||
128 | + OR matricula_turma.abandono | ||
129 | + OR matricula_turma.remanejado | ||
130 | + OR matricula_turma.falecido | ||
131 | + AND matricula_turma.sequencial < ( | ||
132 | + ( | ||
133 | + SELECT max(mt.sequencial) AS max | ||
134 | + FROM pmieducar.matricula_turma mt | ||
135 | + WHERE mt.ref_cod_matricula = matricula.cod_matricula | ||
136 | + ) | ||
137 | + ) | ||
138 | + END | ||
139 | + ) | ||
140 | + AND | ||
141 | + ( | ||
142 | + CASE | ||
143 | + WHEN situacao_matricula.cod_situacao = 10 THEN | ||
144 | + matricula.aprovado = ANY (ARRAY[1, 2, 3, 4, 5, 6, 12, 13, 14, 15]) | ||
145 | + WHEN situacao_matricula.cod_situacao = 9 THEN | ||
146 | + (matricula.aprovado = ANY (ARRAY[1, 2, 3, 5, 12, 13, 14])) | ||
147 | + AND (NOT matricula_turma.reclassificado OR matricula_turma.reclassificado IS NULL) | ||
148 | + AND (NOT matricula_turma.abandono OR matricula_turma.abandono IS NULL) | ||
149 | + AND (NOT matricula_turma.remanejado OR matricula_turma.remanejado IS NULL) | ||
150 | + AND (NOT matricula_turma.transferido OR matricula_turma.transferido IS NULL) | ||
151 | + AND (NOT matricula_turma.falecido OR matricula_turma.falecido IS NULL) | ||
152 | + WHEN | ||
153 | + situacao_matricula.cod_situacao = 2 THEN | ||
154 | + (matricula.aprovado = ANY (ARRAY[2, 14])) | ||
155 | + AND (NOT matricula_turma.reclassificado OR matricula_turma.reclassificado IS NULL) | ||
156 | + AND (NOT matricula_turma.abandono OR matricula_turma.abandono IS NULL) | ||
157 | + AND (NOT matricula_turma.remanejado OR matricula_turma.remanejado IS NULL) | ||
158 | + AND (NOT matricula_turma.transferido OR matricula_turma.transferido IS NULL) | ||
159 | + AND (NOT matricula_turma.falecido OR matricula_turma.falecido IS NULL) | ||
160 | + WHEN | ||
161 | + situacao_matricula.cod_situacao = 1 THEN | ||
162 | + (matricula.aprovado = ANY (ARRAY[1, 12, 13])) | ||
163 | + AND (NOT matricula_turma.reclassificado OR matricula_turma.reclassificado IS NULL) | ||
164 | + AND (NOT matricula_turma.abandono OR matricula_turma.abandono IS NULL) | ||
165 | + AND (NOT matricula_turma.remanejado OR matricula_turma.remanejado IS NULL) | ||
166 | + AND (NOT matricula_turma.transferido OR matricula_turma.transferido IS NULL) | ||
167 | + AND (NOT matricula_turma.falecido OR matricula_turma.falecido IS NULL) | ||
168 | + WHEN situacao_matricula.cod_situacao = ANY (ARRAY[3, 12, 13]) THEN | ||
169 | + matricula.aprovado = situacao_matricula.cod_situacao | ||
170 | + AND (NOT matricula_turma.reclassificado OR matricula_turma.reclassificado IS NULL) | ||
171 | + AND (NOT matricula_turma.abandono OR matricula_turma.abandono IS NULL) | ||
172 | + AND (NOT matricula_turma.remanejado OR matricula_turma.remanejado IS NULL) | ||
173 | + AND (NOT matricula_turma.transferido OR matricula_turma.transferido IS NULL) | ||
174 | + AND (NOT matricula_turma.falecido OR matricula_turma.falecido IS NULL) | ||
175 | + ELSE | ||
176 | + matricula.aprovado = situacao_matricula.cod_situacao | ||
177 | + END | ||
178 | + ); |
database/sqls/views/relatorio.view_situacao.sql
1 | -SET search_path = relatorio, pmieducar, public, pg_catalog; | ||
2 | - | ||
3 | -CREATE OR REPLACE VIEW view_situacao AS | ||
4 | - SELECT matricula.cod_matricula, | ||
5 | - situacao_matricula.cod_situacao, | ||
6 | - matricula_turma.ref_cod_turma AS cod_turma, | ||
7 | - matricula_turma.sequencial, | ||
8 | - ( SELECT | ||
9 | - CASE | ||
10 | - WHEN matricula_turma.remanejado THEN 'Remanejado'::character varying | ||
11 | - WHEN matricula_turma.transferido THEN 'Transferido'::character varying | ||
12 | - WHEN matricula_turma.reclassificado THEN 'Reclassificado'::character varying | ||
13 | - WHEN matricula_turma.abandono THEN 'Abandono'::character varying | ||
14 | - WHEN (matricula.aprovado = 1) THEN 'Aprovado'::character varying | ||
15 | - WHEN (matricula.aprovado = 12) THEN 'Ap. Depen.'::character varying | ||
16 | - WHEN (matricula.aprovado = 13) THEN 'Ap. Cons.'::character varying | ||
17 | - WHEN (matricula.aprovado = 2) THEN 'Reprovado'::character varying | ||
18 | - WHEN (matricula.aprovado = 3) THEN 'Cursando'::character varying | ||
19 | - WHEN (matricula.aprovado = 4) THEN 'Transferido'::character varying | ||
20 | - WHEN (matricula.aprovado = 5) THEN 'Reclassificado'::character varying | ||
21 | - WHEN (matricula.aprovado = 6) THEN 'Abandono'::character varying | ||
22 | - WHEN (matricula.aprovado = 14) THEN 'Rp. Faltas'::character varying | ||
23 | - WHEN (matricula.aprovado = 15) THEN 'Falecido'::character varying | ||
24 | - ELSE 'Recl'::character varying | ||
25 | - END AS "case") AS texto_situacao, | ||
26 | - ( SELECT | ||
27 | - CASE | ||
28 | - WHEN matricula_turma.remanejado THEN 'Rem'::character varying | ||
29 | - WHEN matricula_turma.transferido THEN 'Trs'::character varying | ||
30 | - WHEN matricula_turma.reclassificado THEN 'Recl'::character varying | ||
31 | - WHEN matricula_turma.abandono THEN 'Aba'::character varying | ||
32 | - WHEN (matricula.aprovado = 1) THEN 'Apr'::character varying | ||
33 | - WHEN (matricula.aprovado = 12) THEN 'ApDp'::character varying | ||
34 | - WHEN (matricula.aprovado = 13) THEN 'ApCo'::character varying | ||
35 | - WHEN (matricula.aprovado = 2) THEN 'Rep'::character varying | ||
36 | - WHEN (matricula.aprovado = 3) THEN 'Cur'::character varying | ||
37 | - WHEN (matricula.aprovado = 4) THEN 'Trs'::character varying | ||
38 | - WHEN (matricula.aprovado = 5) THEN 'Recl'::character varying | ||
39 | - WHEN (matricula.aprovado = 6) THEN 'Aba'::character varying | ||
40 | - WHEN (matricula.aprovado = 14) THEN 'RpFt'::character varying | ||
41 | - WHEN (matricula.aprovado = 15) THEN 'Fal'::character varying | ||
42 | - ELSE 'Recl'::character varying | ||
43 | - END AS "case") AS texto_situacao_simplificado | ||
44 | - FROM situacao_matricula, | ||
45 | - (((pmieducar.matricula | ||
46 | - JOIN pmieducar.escola ON ((escola.cod_escola = matricula.ref_ref_cod_escola))) | ||
47 | - JOIN pmieducar.instituicao ON ((instituicao.cod_instituicao = escola.ref_cod_instituicao))) | ||
48 | - LEFT JOIN pmieducar.matricula_turma ON ((matricula_turma.ref_cod_matricula = matricula.cod_matricula))) | ||
49 | - WHERE ((matricula.ativo = 1) AND | ||
50 | - CASE | ||
51 | - WHEN (instituicao.data_base_remanejamento IS NULL) THEN (COALESCE(matricula_turma.remanejado, false) = false) | ||
52 | - ELSE true | ||
53 | - END AND | ||
54 | - CASE | ||
55 | - WHEN (matricula.aprovado = 4) THEN ((matricula_turma.ativo = 1) OR matricula_turma.transferido OR matricula_turma.reclassificado OR matricula_turma.remanejado OR (matricula_turma.sequencial = ( SELECT max(mt.sequencial) AS max | ||
56 | - FROM pmieducar.matricula_turma mt | ||
57 | - WHERE (mt.ref_cod_matricula = matricula.cod_matricula)))) | ||
58 | - WHEN (matricula.aprovado = 6) THEN ((matricula_turma.ativo = 1) OR matricula_turma.abandono) | ||
59 | - WHEN (matricula.aprovado = 15) THEN ((matricula_turma.ativo = 1) OR matricula_turma.falecido) | ||
60 | - WHEN (matricula.aprovado = 5) THEN ((matricula_turma.ativo = 1) OR matricula_turma.reclassificado) | ||
61 | - ELSE ((matricula_turma.ativo = 1) OR matricula_turma.transferido OR matricula_turma.reclassificado OR matricula_turma.abandono OR matricula_turma.remanejado OR (matricula_turma.falecido AND (matricula_turma.sequencial < ( SELECT max(mt.sequencial) AS max | ||
62 | - FROM pmieducar.matricula_turma mt | ||
63 | - WHERE (mt.ref_cod_matricula = matricula.cod_matricula))))) | ||
64 | - END AND | ||
65 | - CASE | ||
66 | - WHEN (situacao_matricula.cod_situacao = 10) THEN (matricula.aprovado = ANY (ARRAY[1, 2, 3, 4, 5, 6, 12, 13, 14, 15])) | ||
67 | - WHEN (situacao_matricula.cod_situacao = 9) THEN ((matricula.aprovado = ANY (ARRAY[1, 2, 3, 5, 12, 13, 14])) AND ((NOT matricula_turma.reclassificado) OR (matricula_turma.reclassificado IS NULL)) AND ((NOT matricula_turma.abandono) OR (matricula_turma.abandono IS NULL)) AND ((NOT matricula_turma.remanejado) OR (matricula_turma.remanejado IS NULL)) AND ((NOT matricula_turma.transferido) OR (matricula_turma.transferido IS NULL)) AND ((NOT matricula_turma.falecido) OR (matricula_turma.falecido IS NULL))) | ||
68 | - WHEN (situacao_matricula.cod_situacao = 2) THEN ((matricula.aprovado = ANY (ARRAY[2, 14])) AND ((NOT matricula_turma.reclassificado) OR (matricula_turma.reclassificado IS NULL)) AND ((NOT matricula_turma.abandono) OR (matricula_turma.abandono IS NULL)) AND ((NOT matricula_turma.remanejado) OR (matricula_turma.remanejado IS NULL)) AND ((NOT matricula_turma.transferido) OR (matricula_turma.transferido IS NULL)) AND ((NOT matricula_turma.falecido) OR (matricula_turma.falecido IS NULL))) | ||
69 | - WHEN (situacao_matricula.cod_situacao = 1) THEN ((matricula.aprovado = ANY (ARRAY[1, 12, 13])) AND ((NOT matricula_turma.reclassificado) OR (matricula_turma.reclassificado IS NULL)) AND ((NOT matricula_turma.abandono) OR (matricula_turma.abandono IS NULL)) AND ((NOT matricula_turma.remanejado) OR (matricula_turma.remanejado IS NULL)) AND ((NOT matricula_turma.transferido) OR (matricula_turma.transferido IS NULL)) AND ((NOT matricula_turma.falecido) OR (matricula_turma.falecido IS NULL))) | ||
70 | - WHEN (situacao_matricula.cod_situacao = ANY (ARRAY[3, 12, 13])) THEN ((matricula.aprovado = situacao_matricula.cod_situacao) AND ((NOT matricula_turma.reclassificado) OR (matricula_turma.reclassificado IS NULL)) AND ((NOT matricula_turma.abandono) OR (matricula_turma.abandono IS NULL)) AND ((NOT matricula_turma.remanejado) OR (matricula_turma.remanejado IS NULL)) AND ((NOT matricula_turma.transferido) OR (matricula_turma.transferido IS NULL)) AND ((NOT matricula_turma.falecido) OR (matricula_turma.falecido IS NULL))) | ||
71 | - ELSE (matricula.aprovado = situacao_matricula.cod_situacao) | ||
72 | - END); | 1 | +CREATE OR REPLACE VIEW relatorio.view_situacao AS |
2 | +SELECT | ||
3 | + matricula.cod_matricula, | ||
4 | + situacao_matricula.cod_situacao, | ||
5 | + matricula_turma.ref_cod_turma AS cod_turma, | ||
6 | + matricula_turma.sequencial, | ||
7 | + ( | ||
8 | + CASE | ||
9 | + WHEN matricula_turma.remanejado THEN | ||
10 | + ''Remanejado''::character varying | ||
11 | + WHEN matricula_turma.transferido THEN | ||
12 | + ''Transferido''::character varying | ||
13 | + WHEN matricula_turma.reclassificado THEN | ||
14 | + ''Reclassificado''::character varying | ||
15 | + WHEN matricula_turma.abandono THEN | ||
16 | + ''Abandono''::character varying | ||
17 | + WHEN matricula.aprovado = 1 THEN | ||
18 | + ''Aprovado''::character varying | ||
19 | + WHEN matricula.aprovado = 12 THEN | ||
20 | + ''Ap. Depen.''::character varying | ||
21 | + WHEN matricula.aprovado = 13 THEN | ||
22 | + ''Ap. Cons.''::character varying | ||
23 | + WHEN matricula.aprovado = 2 THEN | ||
24 | + ''Reprovado''::character varying | ||
25 | + WHEN matricula.aprovado = 3 THEN | ||
26 | + ''Cursando''::character varying | ||
27 | + WHEN matricula.aprovado = 4 THEN | ||
28 | + ''Transferido''::character varying | ||
29 | + WHEN matricula.aprovado = 5 THEN | ||
30 | + ''Reclassificado''::character varying | ||
31 | + WHEN matricula.aprovado = 6 THEN | ||
32 | + ''Abandono''::character varying | ||
33 | + WHEN matricula.aprovado = 14 THEN | ||
34 | + ''Rp. Faltas''::character varying | ||
35 | + WHEN matricula.aprovado = 15 THEN | ||
36 | + ''Falecido''::character varying | ||
37 | + ELSE ''Recl''::character varying | ||
38 | + END | ||
39 | + ) AS texto_situacao, | ||
40 | + ( | ||
41 | + CASE | ||
42 | + WHEN matricula_turma.remanejado THEN | ||
43 | + ''Rem''::character varying | ||
44 | + WHEN matricula_turma.transferido THEN | ||
45 | + ''Trs''::character varying | ||
46 | + WHEN matricula_turma.reclassificado THEN | ||
47 | + ''Recl''::character varying | ||
48 | + WHEN matricula_turma.abandono THEN | ||
49 | + ''Aba''::character varying | ||
50 | + WHEN matricula.aprovado = 1 THEN | ||
51 | + ''Apr''::character varying | ||
52 | + WHEN matricula.aprovado = 12 THEN | ||
53 | + ''ApDp''::character varying | ||
54 | + WHEN matricula.aprovado = 13 THEN | ||
55 | + ''ApCo''::character varying | ||
56 | + WHEN matricula.aprovado = 2 THEN | ||
57 | + ''Rep''::character varying | ||
58 | + WHEN matricula.aprovado = 3 THEN | ||
59 | + ''Cur''::character varying | ||
60 | + WHEN matricula.aprovado = 4 THEN | ||
61 | + ''Trs''::character varying | ||
62 | + WHEN matricula.aprovado = 5 THEN | ||
63 | + ''Recl''::character varying | ||
64 | + WHEN matricula.aprovado = 6 THEN | ||
65 | + ''Aba''::character varying | ||
66 | + WHEN matricula.aprovado = 14 THEN | ||
67 | + ''RpFt''::character varying | ||
68 | + WHEN matricula.aprovado = 15 THEN | ||
69 | + ''Fal''::character varying | ||
70 | + ELSE ''Recl''::character varying | ||
71 | + END | ||
72 | + ) AS texto_situacao_simplificado | ||
73 | +FROM | ||
74 | + relatorio.situacao_matricula, | ||
75 | + pmieducar.matricula | ||
76 | +JOIN pmieducar.escola | ||
77 | + ON escola.cod_escola = matricula.ref_ref_cod_escola | ||
78 | +JOIN pmieducar.instituicao | ||
79 | + ON instituicao.cod_instituicao = escola.ref_cod_instituicao | ||
80 | +LEFT JOIN pmieducar.matricula_turma | ||
81 | + ON matricula_turma.ref_cod_matricula = matricula.cod_matricula | ||
82 | +WHERE TRUE | ||
83 | + AND matricula.ativo = 1 | ||
84 | + AND ( | ||
85 | + CASE WHEN instituicao.data_base_remanejamento IS NULL THEN | ||
86 | + COALESCE(matricula_turma.remanejado, false) = false | ||
87 | + ELSE | ||
88 | + true | ||
89 | + END | ||
90 | + ) | ||
91 | + AND ( | ||
92 | + CASE WHEN matricula.aprovado = 4 THEN | ||
93 | + matricula_turma.ativo = 1 | ||
94 | + OR matricula_turma.transferido | ||
95 | + OR matricula_turma.reclassificado | ||
96 | + OR matricula_turma.remanejado | ||
97 | + OR matricula_turma.sequencial = ( | ||
98 | + ( | ||
99 | + SELECT max(mt.sequencial) AS max | ||
100 | + FROM pmieducar.matricula_turma mt | ||
101 | + WHERE mt.ref_cod_matricula = matricula.cod_matricula | ||
102 | + ) | ||
103 | + ) | ||
104 | + WHEN matricula.aprovado = 6 THEN | ||
105 | + matricula_turma.ativo = 1 | ||
106 | + OR matricula_turma.abandono | ||
107 | + OR ( | ||
108 | + ( | ||
109 | + matricula_turma.transferido | ||
110 | + OR matricula_turma.reclassificado | ||
111 | + OR matricula_turma.remanejado | ||
112 | + ) | ||
113 | + AND matricula_turma.sequencial < ( | ||
114 | + SELECT max(mt.sequencial) AS max | ||
115 | + FROM pmieducar.matricula_turma mt | ||
116 | + WHERE mt.ref_cod_matricula = matricula.cod_matricula | ||
117 | + ) | ||
118 | + ) | ||
119 | + WHEN matricula.aprovado = 15 THEN | ||
120 | + matricula_turma.ativo = 1 | ||
121 | + OR matricula_turma.falecido | ||
122 | + WHEN matricula.aprovado = 5 THEN | ||
123 | + matricula_turma.ativo = 1 | ||
124 | + OR matricula_turma.reclassificado | ||
125 | + ELSE matricula_turma.ativo = 1 | ||
126 | + OR matricula_turma.transferido | ||
127 | + OR matricula_turma.reclassificado | ||
128 | + OR matricula_turma.abandono | ||
129 | + OR matricula_turma.remanejado | ||
130 | + OR matricula_turma.falecido | ||
131 | + AND matricula_turma.sequencial < ( | ||
132 | + ( | ||
133 | + SELECT max(mt.sequencial) AS max | ||
134 | + FROM pmieducar.matricula_turma mt | ||
135 | + WHERE mt.ref_cod_matricula = matricula.cod_matricula | ||
136 | + ) | ||
137 | + ) | ||
138 | + END | ||
139 | + ) | ||
140 | + AND | ||
141 | + ( | ||
142 | + CASE | ||
143 | + WHEN situacao_matricula.cod_situacao = 10 THEN | ||
144 | + matricula.aprovado = ANY (ARRAY[1, 2, 3, 4, 5, 6, 12, 13, 14, 15]) | ||
145 | + WHEN situacao_matricula.cod_situacao = 9 THEN | ||
146 | + (matricula.aprovado = ANY (ARRAY[1, 2, 3, 5, 12, 13, 14])) | ||
147 | + AND (NOT matricula_turma.reclassificado OR matricula_turma.reclassificado IS NULL) | ||
148 | + AND (NOT matricula_turma.abandono OR matricula_turma.abandono IS NULL) | ||
149 | + AND (NOT matricula_turma.remanejado OR matricula_turma.remanejado IS NULL) | ||
150 | + AND (NOT matricula_turma.transferido OR matricula_turma.transferido IS NULL) | ||
151 | + AND (NOT matricula_turma.falecido OR matricula_turma.falecido IS NULL) | ||
152 | + WHEN | ||
153 | + situacao_matricula.cod_situacao = 2 THEN | ||
154 | + (matricula.aprovado = ANY (ARRAY[2, 14])) | ||
155 | + AND (NOT matricula_turma.reclassificado OR matricula_turma.reclassificado IS NULL) | ||
156 | + AND (NOT matricula_turma.abandono OR matricula_turma.abandono IS NULL) | ||
157 | + AND (NOT matricula_turma.remanejado OR matricula_turma.remanejado IS NULL) | ||
158 | + AND (NOT matricula_turma.transferido OR matricula_turma.transferido IS NULL) | ||
159 | + AND (NOT matricula_turma.falecido OR matricula_turma.falecido IS NULL) | ||
160 | + WHEN | ||
161 | + situacao_matricula.cod_situacao = 1 THEN | ||
162 | + (matricula.aprovado = ANY (ARRAY[1, 12, 13])) | ||
163 | + AND (NOT matricula_turma.reclassificado OR matricula_turma.reclassificado IS NULL) | ||
164 | + AND (NOT matricula_turma.abandono OR matricula_turma.abandono IS NULL) | ||
165 | + AND (NOT matricula_turma.remanejado OR matricula_turma.remanejado IS NULL) | ||
166 | + AND (NOT matricula_turma.transferido OR matricula_turma.transferido IS NULL) | ||
167 | + AND (NOT matricula_turma.falecido OR matricula_turma.falecido IS NULL) | ||
168 | + WHEN situacao_matricula.cod_situacao = ANY (ARRAY[3, 12, 13]) THEN | ||
169 | + matricula.aprovado = situacao_matricula.cod_situacao | ||
170 | + AND (NOT matricula_turma.reclassificado OR matricula_turma.reclassificado IS NULL) | ||
171 | + AND (NOT matricula_turma.abandono OR matricula_turma.abandono IS NULL) | ||
172 | + AND (NOT matricula_turma.remanejado OR matricula_turma.remanejado IS NULL) | ||
173 | + AND (NOT matricula_turma.transferido OR matricula_turma.transferido IS NULL) | ||
174 | + AND (NOT matricula_turma.falecido OR matricula_turma.falecido IS NULL) | ||
175 | + ELSE | ||
176 | + matricula.aprovado = situacao_matricula.cod_situacao | ||
177 | + END | ||
178 | + ); |