-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathSQL027.sql
More file actions
270 lines (256 loc) · 7.78 KB
/
SQL027.sql
File metadata and controls
270 lines (256 loc) · 7.78 KB
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
/*
* PLT053 - Script para o relatório de Inadimplencia
* @param CODFILIAL Código da Filial
* @param DTVENCIMENTO Data de Vencimentos
*
* @author Marcelo Valvassori Bittencourt
* @mail webmaster@pallottism.com.br
* @version 1.0 bitts 17/04/2017
*
*/
DECLARE
@DTVENCIMENTO VARCHAR(10) = '07/07/2017',
@CODFILIAL VARCHAR(5) = '1';
SELECT
A.RA,
UPPER(C.NOME) AS ALUNO,
H.NOME AS CURSO,
K.CODPERLET AS [PERIODO LETIVO],
A.CODFILIAL,
A1.DESCRICAO AS [STATUS MATRICULA],
A2.DESCRICAO AS [STATUS FINAL],
L.IDLAN AS REF,
J.PARCELA,
CONVERT(VARCHAR, M.DATAVENCIMENTO, 103) AS VENCIMENTO,
M.VALORORIGINAL AS [VALOR ORIGINAL],
M.VALOROP1,
M.VALOROP2,
ISNULL([GRATUIDADE].VALORGRATUIDADE,0) AS [VALOR GRATUIDADE],
ISNULL([GRATUIDADE TOTAL].VALORGRATUIDADETOTAL,0) AS [GRATUIDADE 100%],
ISNULL([GRATUIDADE PARCIAL].VALORGRATUIDADEPARCIAL,0) AS [GRATUIDADE 50%],
ISNULL([GRATUIDADE ESPECIAL].VALORGRATUIDADEESP,0) AS [GRATUIDADE ESPECIAL],
ISNULL([SIMPRO SINTAE].VALORSIMPROSINTAE,0) AS [SIMPRO/SINTAE],
ISNULL([FIES].VALORFIES,0) AS [FIES],
ISNULL([RECOMECAR].VALORRECOMECAR,0) AS [RECOMECAR],
CASE WHEN (
([GRATUIDADE].VALORGRATUIDADE IS NOT NULL OR [GRATUIDADE].VALORGRATUIDADE <> 0) OR
([GRATUIDADE ESPECIAL].VALORGRATUIDADEESP IS NOT NULL OR [GRATUIDADE ESPECIAL].VALORGRATUIDADEESP <> 0) OR
([RECOMECAR].VALORRECOMECAR IS NOT NULL OR [RECOMECAR].VALORRECOMECAR <> 0)
)
THEN
M.VALORORIGINAL - ISNULL([GRATUIDADE].VALORGRATUIDADE,0) - ISNULL([GRATUIDADE ESPECIAL].VALORGRATUIDADEESP,0) - ISNULL([RECOMECAR].VALORRECOMECAR,0) - ISNULL([SIMPRO SINTAE].VALORSIMPROSINTAE,0)
ELSE 0 END AS [TOTAL A PAGAR]
FROM
SMATRICPL AS A (NOLOCK)
LEFT JOIN SSTATUS AS A1 (NOLOCK) ON
A1.CODSTATUS = A.CODSTATUS
LEFT JOIN SSTATUS AS A2 (NOLOCK) ON
A2.CODSTATUS = A.CODSTATUSRES
LEFT JOIN SALUNO AS B (NOLOCK) ON
A.CODCOLIGADA = B.CODCOLIGADA
AND A.RA = B.RA
LEFT JOIN PPESSOA AS C (NOLOCK) ON
B.CODPESSOA = C.CODIGO
LEFT JOIN SHABILITACAOALUNO AS D (NOLOCK) ON
A.CODCOLIGADA = D.CODCOLIGADA
AND A.IDHABILITACAOFILIAL = D.IDHABILITACAOFILIAL
AND A.RA = D.RA
LEFT JOIN SHABILITACAOFILIAL AS E (NOLOCK) ON
D.CODCOLIGADA = E.CODCOLIGADA
AND D.IDHABILITACAOFILIAL = E.IDHABILITACAOFILIAL
LEFT JOIN SGRADE AS F (NOLOCK) ON
E.CODCOLIGADA = F.CODCOLIGADA
AND E.CODCURSO = F.CODCURSO
AND E.CODHABILITACAO = F.CODHABILITACAO
AND E.CODGRADE = F.CODGRADE
LEFT JOIN SHABILITACAO AS G (NOLOCK) ON
F.CODCOLIGADA = G.CODCOLIGADA
AND F.CODCURSO = G.CODCURSO
AND F.CODHABILITACAO = G.CODHABILITACAO
LEFT JOIN SCURSO AS H (NOLOCK) ON
G.CODCOLIGADA = H.CODCOLIGADA
AND G.CODCURSO = H.CODCURSO
LEFT JOIN SCONTRATO AS I (NOLOCK) ON
A.CODCOLIGADA = I.CODCOLIGADA
AND A.IDPERLET = I.IDPERLET
AND A.IDHABILITACAOFILIAL = I.IDHABILITACAOFILIAL
AND A.RA = I.RA
LEFT JOIN SPARCELA AS J (NOLOCK) ON
I.CODCOLIGADA = J.CODCOLIGADA
AND I.RA = J.RA
AND I.CODCONTRATO = J.CODCONTRATO
AND I.IDPERLET = J.IDPERLET
LEFT JOIN SPLETIVO AS K (NOLOCK) ON
A.IDPERLET = K.IDPERLET
LEFT JOIN SLAN AS L (NOLOCK) ON
J.CODCOLIGADA = L.CODCOLIGADA
AND J.IDPARCELA = L.IDPARCELA
LEFT JOIN FLAN AS M (NOLOCK) ON
L.CODCOLIGADA = M.CODCOLIGADA
AND L.IDLAN = M.IDLAN
LEFT JOIN (
SELECT
SBOLSALAN.CODCOLIGADA,
SBOLSALAN.IDPARCELA,
SBOLSALAN.IDLAN,
SBOLSALAN.IDPERLET,
SUM(SBOLSALAN.VALOR) AS VALORGRATUIDADE,
CASE WHEN SUM(SBOLSALAN.VALOR) <> 0 THEN 1 ELSE 0 END AS [CONTA GRATUIDADE]
FROM
SBOLSALAN (NOLOCK)
WHERE
SBOLSALAN.CODBOLSA IN (22,4,28,29,24,25)
GROUP BY
SBOLSALAN.CODCOLIGADA,
SBOLSALAN.IDPARCELA,
SBOLSALAN.IDLAN,
SBOLSALAN.IDPERLET
) AS [GRATUIDADE] ON
GRATUIDADE.CODCOLIGADA = A.CODCOLIGADA
AND GRATUIDADE.IDLAN = M.IDLAN
AND GRATUIDADE.IDPARCELA = J.IDPARCELA
AND GRATUIDADE.IDPERLET = A.IDPERLET
LEFT JOIN (
SELECT
SBOLSALAN.CODCOLIGADA,
SBOLSALAN.IDPARCELA,
SBOLSALAN.IDLAN,
SBOLSALAN.IDPERLET,
SUM(SBOLSALAN.VALOR) AS VALORGRATUIDADEESP,
CASE WHEN SUM(SBOLSALAN.VALOR) <> 0 THEN 1 ELSE 0 END AS [CONTA GRATUIDADE ESPECIAL]
FROM
SBOLSALAN (NOLOCK)
LEFT JOIN SBOLSA (NOLOCK) ON
SBOLSALAN.CODBOLSA = SBOLSA.CODBOLSA
WHERE
SBOLSALAN.CODBOLSA NOT IN (22,4,2,12,28,29,24,25,20,31,32,27,36)
AND SBOLSA.VALIDADELIMITADA = 0
GROUP BY
SBOLSALAN.CODCOLIGADA,
SBOLSALAN.IDPARCELA,
SBOLSALAN.IDLAN,
SBOLSALAN.IDPERLET
) AS [GRATUIDADE ESPECIAL] ON
[GRATUIDADE ESPECIAL].CODCOLIGADA = A.CODCOLIGADA
AND [GRATUIDADE ESPECIAL].IDLAN = M.IDLAN
AND [GRATUIDADE ESPECIAL].IDPARCELA = J.IDPARCELA
AND [GRATUIDADE ESPECIAL].IDPERLET = A.IDPERLET
LEFT JOIN (
SELECT
SBOLSALAN.CODCOLIGADA,
SBOLSALAN.IDPARCELA,
SBOLSALAN.IDLAN,
SBOLSALAN.IDPERLET,
SUM(SBOLSALAN.VALOR) AS VALORGRATUIDADEPARCIAL,
CASE WHEN SUM(SBOLSALAN.VALOR) <> 0 THEN 1 ELSE 0 END AS [CONTA GRATUIDADE PARCIAL]
FROM
SBOLSALAN (NOLOCK)
WHERE
SBOLSALAN.CODBOLSA IN (4,28,24)
GROUP BY
SBOLSALAN.CODCOLIGADA,
SBOLSALAN.IDPARCELA,
SBOLSALAN.IDLAN,
SBOLSALAN.IDPERLET
) AS [GRATUIDADE PARCIAL] ON
[GRATUIDADE PARCIAL].CODCOLIGADA = A.CODCOLIGADA
AND [GRATUIDADE PARCIAL].IDLAN = M.IDLAN
AND [GRATUIDADE PARCIAL].IDPARCELA = J.IDPARCELA
AND [GRATUIDADE PARCIAL].IDPERLET = A.IDPERLET
LEFT JOIN (
SELECT
SBOLSALAN.CODCOLIGADA,
SBOLSALAN.IDPARCELA,
SBOLSALAN.IDLAN,
SBOLSALAN.IDPERLET,
SUM(SBOLSALAN.VALOR) AS VALORGRATUIDADETOTAL,
CASE WHEN SUM(SBOLSALAN.VALOR) <> 0 THEN 1 ELSE 0 END AS [CONTA GRATUIDADE TOTAL]
FROM
SBOLSALAN (NOLOCK)
WHERE
SBOLSALAN.CODBOLSA IN (22,29,25)
GROUP BY
SBOLSALAN.CODCOLIGADA,
SBOLSALAN.IDPARCELA,
SBOLSALAN.IDLAN,
SBOLSALAN.IDPERLET
) AS [GRATUIDADE TOTAL] ON
[GRATUIDADE TOTAL].CODCOLIGADA = A.CODCOLIGADA
AND [GRATUIDADE TOTAL].IDLAN = M.IDLAN
AND [GRATUIDADE TOTAL].IDPARCELA = J.IDPARCELA
AND [GRATUIDADE TOTAL].IDPERLET = A.IDPERLET
LEFT JOIN (
SELECT
SBOLSALAN.CODCOLIGADA,
SBOLSALAN.IDPARCELA,
SBOLSALAN.IDLAN,
SBOLSALAN.IDPERLET,
SUM(SBOLSALAN.VALOR) AS VALORRECOMECAR,
CASE WHEN SUM(SBOLSALAN.VALOR) <> 0 THEN 1 ELSE 0 END AS [CONTA RECOMECAR]
FROM
SBOLSALAN (NOLOCK)
WHERE
SBOLSALAN.CODBOLSA IN (12)
GROUP BY
SBOLSALAN.CODCOLIGADA,
SBOLSALAN.IDPARCELA,
SBOLSALAN.IDLAN,
SBOLSALAN.IDPERLET
) AS [RECOMECAR] ON
RECOMECAR.CODCOLIGADA = A.CODCOLIGADA
AND RECOMECAR.IDLAN = M.IDLAN
AND RECOMECAR.IDPARCELA = J.IDPARCELA
AND RECOMECAR.IDPERLET = A.IDPERLET
LEFT JOIN (
SELECT
SBOLSALAN.CODCOLIGADA,
SBOLSALAN.IDPARCELA,
SBOLSALAN.IDLAN,
SBOLSALAN.IDPERLET,
SUM(SBOLSALAN.VALOR) AS VALORFIES,
CASE WHEN SUM(SBOLSALAN.VALOR) <> 0 THEN 1 ELSE 0 END AS [CONTA FIES]
FROM
SBOLSALAN (NOLOCK)
LEFT JOIN FLAN (NOLOCK) ON
FLAN.IDLAN = SBOLSALAN.IDLAN
WHERE
SBOLSALAN.CODBOLSA IN (2)
GROUP BY
SBOLSALAN.CODCOLIGADA,
SBOLSALAN.IDPARCELA,
SBOLSALAN.IDLAN,
SBOLSALAN.IDPERLET
) AS [FIES] ON
FIES.CODCOLIGADA = A.CODCOLIGADA
AND FIES.IDLAN = M.IDLAN
AND FIES.IDPARCELA = J.IDPARCELA
AND FIES.IDPERLET = A.IDPERLET
LEFT JOIN (
SELECT
SBOLSALAN.CODCOLIGADA,
SBOLSALAN.IDPARCELA,
SBOLSALAN.IDLAN,
SBOLSALAN.IDPERLET,
SUM(SBOLSALAN.VALOR) AS VALORSIMPROSINTAE,
CASE WHEN SUM(SBOLSALAN.VALOR) <> 0 THEN 1 ELSE 0 END AS [CONTA SIMPRO SINTAE]
FROM
SBOLSALAN (NOLOCK)
LEFT JOIN FLAN (NOLOCK) ON
FLAN.IDLAN = SBOLSALAN.IDLAN
WHERE
SBOLSALAN.CODBOLSA IN (20,31,32,27,36)
GROUP BY
SBOLSALAN.CODCOLIGADA,
SBOLSALAN.IDPARCELA,
SBOLSALAN.IDLAN,
SBOLSALAN.IDPERLET
) AS [SIMPRO SINTAE] ON
[SIMPRO SINTAE].CODCOLIGADA = A.CODCOLIGADA
AND [SIMPRO SINTAE].IDLAN = M.IDLAN
AND [SIMPRO SINTAE].IDPARCELA = J.IDPARCELA
AND [SIMPRO SINTAE].IDPERLET = A.IDPERLET
WHERE
M.STATUSLAN = 0
AND A.CODFILIAL = @CODFILIAL
--AND K.CODPERLET = '2015.2'
AND M.DATAVENCIMENTO < @DTVENCIMENTO