Commit c7021af8017f17339e33bba3b3782634d266a73e
Committed by
GitHub
Exists in
2.8
and in
6 other branches
Merge pull request #6428 from portabilis/issue-6383
Altera a view de situação
Showing
4 changed files
with
384 additions
and
3 deletions
Show diff stats
database/migrations/2019_09_26_142534_remove_condicao_view_situacao.php
0 → 100755
... | ... | @@ -0,0 +1,31 @@ |
1 | +<?php | |
2 | + | |
3 | +use Illuminate\Support\Facades\DB; | |
4 | +use Illuminate\Database\Migrations\Migration; | |
5 | + | |
6 | +class RemoveCondicaoViewSituacao extends Migration | |
7 | +{ | |
8 | + /** | |
9 | + * Run the migrations. | |
10 | + * | |
11 | + * @return void | |
12 | + */ | |
13 | + public function up() | |
14 | + { | |
15 | + $sql = file_get_contents(database_path('sqls/views/relatorio.view_situacao-2019-09-30.sql')); | |
16 | + | |
17 | + DB::unprepared($sql); | |
18 | + } | |
19 | + | |
20 | + /** | |
21 | + * Reverse the migrations. | |
22 | + * | |
23 | + * @return void | |
24 | + */ | |
25 | + public function down() | |
26 | + { | |
27 | + $sql = file_get_contents(database_path('sqls/views/relatorio.view_situacao-2019-09-26.sql')); | |
28 | + | |
29 | + DB::unprepared($sql); | |
30 | + } | |
31 | +} | ... | ... |
database/sqls/views/relatorio.view_situacao-2019-09-26.sql
0 → 100644
... | ... | @@ -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-2019-09-30.sql
0 → 100644
... | ... | @@ -0,0 +1,175 @@ |
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 | + ELSE matricula_turma.ativo = 1 | |
123 | + OR matricula_turma.transferido | |
124 | + OR matricula_turma.reclassificado | |
125 | + OR matricula_turma.abandono | |
126 | + OR matricula_turma.remanejado | |
127 | + OR matricula_turma.falecido | |
128 | + AND matricula_turma.sequencial < ( | |
129 | + ( | |
130 | + SELECT max(mt.sequencial) AS max | |
131 | + FROM pmieducar.matricula_turma mt | |
132 | + WHERE mt.ref_cod_matricula = matricula.cod_matricula | |
133 | + ) | |
134 | + ) | |
135 | + END | |
136 | + ) | |
137 | + AND | |
138 | + ( | |
139 | + CASE | |
140 | + WHEN situacao_matricula.cod_situacao = 10 THEN | |
141 | + matricula.aprovado = ANY (ARRAY[1, 2, 3, 4, 5, 6, 12, 13, 14, 15]) | |
142 | + WHEN situacao_matricula.cod_situacao = 9 THEN | |
143 | + (matricula.aprovado = ANY (ARRAY[1, 2, 3, 5, 12, 13, 14])) | |
144 | + AND (NOT matricula_turma.reclassificado OR matricula_turma.reclassificado IS NULL) | |
145 | + AND (NOT matricula_turma.abandono OR matricula_turma.abandono IS NULL) | |
146 | + AND (NOT matricula_turma.remanejado OR matricula_turma.remanejado IS NULL) | |
147 | + AND (NOT matricula_turma.transferido OR matricula_turma.transferido IS NULL) | |
148 | + AND (NOT matricula_turma.falecido OR matricula_turma.falecido IS NULL) | |
149 | + WHEN | |
150 | + situacao_matricula.cod_situacao = 2 THEN | |
151 | + (matricula.aprovado = ANY (ARRAY[2, 14])) | |
152 | + AND (NOT matricula_turma.reclassificado OR matricula_turma.reclassificado IS NULL) | |
153 | + AND (NOT matricula_turma.abandono OR matricula_turma.abandono IS NULL) | |
154 | + AND (NOT matricula_turma.remanejado OR matricula_turma.remanejado IS NULL) | |
155 | + AND (NOT matricula_turma.transferido OR matricula_turma.transferido IS NULL) | |
156 | + AND (NOT matricula_turma.falecido OR matricula_turma.falecido IS NULL) | |
157 | + WHEN | |
158 | + situacao_matricula.cod_situacao = 1 THEN | |
159 | + (matricula.aprovado = ANY (ARRAY[1, 12, 13])) | |
160 | + AND (NOT matricula_turma.reclassificado OR matricula_turma.reclassificado IS NULL) | |
161 | + AND (NOT matricula_turma.abandono OR matricula_turma.abandono IS NULL) | |
162 | + AND (NOT matricula_turma.remanejado OR matricula_turma.remanejado IS NULL) | |
163 | + AND (NOT matricula_turma.transferido OR matricula_turma.transferido IS NULL) | |
164 | + AND (NOT matricula_turma.falecido OR matricula_turma.falecido IS NULL) | |
165 | + WHEN situacao_matricula.cod_situacao = ANY (ARRAY[3, 12, 13]) THEN | |
166 | + matricula.aprovado = situacao_matricula.cod_situacao | |
167 | + AND (NOT matricula_turma.reclassificado OR matricula_turma.reclassificado IS NULL) | |
168 | + AND (NOT matricula_turma.abandono OR matricula_turma.abandono IS NULL) | |
169 | + AND (NOT matricula_turma.remanejado OR matricula_turma.remanejado IS NULL) | |
170 | + AND (NOT matricula_turma.transferido OR matricula_turma.transferido IS NULL) | |
171 | + AND (NOT matricula_turma.falecido OR matricula_turma.falecido IS NULL) | |
172 | + ELSE | |
173 | + matricula.aprovado = situacao_matricula.cod_situacao | |
174 | + END | |
175 | + ); | ... | ... |
database/sqls/views/relatorio.view_situacao.sql
... | ... | @@ -119,9 +119,6 @@ WHERE TRUE |
119 | 119 | WHEN matricula.aprovado = 15 THEN |
120 | 120 | matricula_turma.ativo = 1 |
121 | 121 | OR matricula_turma.falecido |
122 | - WHEN matricula.aprovado = 5 THEN | |
123 | - matricula_turma.ativo = 1 | |
124 | - OR matricula_turma.reclassificado | |
125 | 122 | ELSE matricula_turma.ativo = 1 |
126 | 123 | OR matricula_turma.transferido |
127 | 124 | OR matricula_turma.reclassificado | ... | ... |