Commit 8360f8f02c1ed93f3f3489b80ea468caff8f941a
1 parent
0964cb87
Exists in
master
Ajustado para salvar corretamente pessoa física;
portabilis/ieducar#167
Showing
3 changed files
with
707 additions
and
0 deletions
Show diff stats
ieducar/misc/database/migrations/20170422011034_ajusta_function_fisica_historico_campo.php
0 → 100644
@@ -0,0 +1,310 @@ | @@ -0,0 +1,310 @@ | ||
1 | +<?php | ||
2 | + | ||
3 | +use Phinx\Migration\AbstractMigration; | ||
4 | + | ||
5 | +class AjustaFunctionFisicaHistoricoCampo extends AbstractMigration | ||
6 | +{ | ||
7 | + public function change() | ||
8 | + { | ||
9 | + $this->execute("-- Function: consistenciacao.fcn_fisica_historico_campo() | ||
10 | + | ||
11 | + -- DROP FUNCTION consistenciacao.fcn_fisica_historico_campo(); | ||
12 | + | ||
13 | + CREATE OR REPLACE FUNCTION consistenciacao.fcn_fisica_historico_campo() | ||
14 | + RETURNS trigger AS | ||
15 | + $$ | ||
16 | + DECLARE | ||
17 | + v_idpes numeric; | ||
18 | + v_data_nasc_nova date; | ||
19 | + v_data_nasc_antiga date; | ||
20 | + v_sexo_novo text; | ||
21 | + v_sexo_antigo text; | ||
22 | + v_nome_mae_novo text; | ||
23 | + v_nome_mae_antigo text; | ||
24 | + v_nome_pai_novo text; | ||
25 | + v_nome_pai_antigo text; | ||
26 | + v_nome_conjuge_novo text; | ||
27 | + v_nome_conjuge_antigo text; | ||
28 | + v_nome_responsavel_novo text; | ||
29 | + v_nome_responsavel_antigo text; | ||
30 | + v_nome_ultima_empresa_novo text; | ||
31 | + v_nome_ultima_empresa_antigo text; | ||
32 | + v_id_ocupacao_novo numeric; | ||
33 | + v_id_ocupacao_antigo numeric; | ||
34 | + v_id_escolaridade_novo numeric; | ||
35 | + v_id_escolaridade_antigo numeric; | ||
36 | + v_id_estado_civil_novo numeric; | ||
37 | + v_id_estado_civil_antigo numeric; | ||
38 | + v_id_pais_origem_novo numeric; | ||
39 | + v_id_pais_origem_antigo numeric; | ||
40 | + v_data_chegada_brasil_nova date; | ||
41 | + v_data_chegada_brasil_antiga date; | ||
42 | + v_data_obito_nova date; | ||
43 | + v_data_obito_antiga date; | ||
44 | + v_data_uniao_nova date; | ||
45 | + v_data_uniao_antiga date; | ||
46 | + | ||
47 | + v_comando text; | ||
48 | + v_origem_gravacao text; | ||
49 | + | ||
50 | + v_credibilidade_maxima numeric; | ||
51 | + v_credibilidade_alta numeric; | ||
52 | + v_sem_credibilidade numeric; | ||
53 | + | ||
54 | + v_nova_credibilidade numeric; | ||
55 | + | ||
56 | + v_registro record; | ||
57 | + v_aux_data_nova text; | ||
58 | + v_aux_data_antiga text; | ||
59 | + | ||
60 | + -- ID dos campos | ||
61 | + v_idcam_data_nasc numeric; | ||
62 | + v_idcam_sexo numeric; | ||
63 | + v_idcam_nome_mae numeric; | ||
64 | + v_idcam_nome_pai numeric; | ||
65 | + v_idcam_nome_conjuge numeric; | ||
66 | + v_idcam_nome_responsavel numeric; | ||
67 | + v_idcam_nome_ultima_empresa numeric; | ||
68 | + v_idcam_ocupacao numeric; | ||
69 | + v_idcam_escolaridade numeric; | ||
70 | + v_idcam_estado_civil numeric; | ||
71 | + v_idcam_pais_origem numeric; | ||
72 | + v_idcam_data_chegada_brasil numeric; | ||
73 | + v_idcam_data_obito numeric; | ||
74 | + v_idcam_data_uniao numeric; | ||
75 | + | ||
76 | + /* | ||
77 | + consistenciacao.historico_campo.credibilidade: 1 = Máxima, 2 = Alta, 3 = Média, 4 = Baixa, 5 = Sem credibilidade | ||
78 | + cadastro.pessoa.origem_gravacao: M = Migração, U = Usuário, C = Rotina de confrontação, O = Oscar | ||
79 | + */ | ||
80 | + BEGIN | ||
81 | + v_idpes := NEW.idpes; | ||
82 | + v_data_nasc_nova := NEW.data_nasc; | ||
83 | + v_sexo_novo := NEW.sexo; | ||
84 | + v_nome_mae_novo := NEW.nome_mae; | ||
85 | + v_nome_pai_novo := NEW.nome_pai; | ||
86 | + v_nome_conjuge_novo := NEW.nome_conjuge; | ||
87 | + v_nome_responsavel_novo := NEW.nome_responsavel; | ||
88 | + v_nome_ultima_empresa_novo := NEW.ultima_empresa; | ||
89 | + v_id_ocupacao_novo := NEW.idocup; | ||
90 | + v_id_escolaridade_novo := NEW.idesco; | ||
91 | + v_id_estado_civil_novo := NEW.ideciv; | ||
92 | + v_id_pais_origem_novo := NEW.idpais_estrangeiro; | ||
93 | + v_data_chegada_brasil_nova := NEW.data_chegada_brasil; | ||
94 | + v_data_obito_nova := NEW.data_obito; | ||
95 | + v_data_uniao_nova := NEW.data_uniao; | ||
96 | + | ||
97 | + IF TG_OP <> 'UPDATE' THEN | ||
98 | + v_data_nasc_antiga := NULL; | ||
99 | + v_sexo_antigo := ''; | ||
100 | + v_nome_mae_antigo := ''; | ||
101 | + v_nome_pai_antigo := ''; | ||
102 | + v_nome_conjuge_antigo := ''; | ||
103 | + v_nome_responsavel_antigo := ''; | ||
104 | + v_nome_ultima_empresa_antigo := ''; | ||
105 | + v_id_ocupacao_antigo := 0; | ||
106 | + v_id_escolaridade_antigo := 0; | ||
107 | + v_id_estado_civil_antigo := 0; | ||
108 | + v_id_pais_origem_antigo := 0; | ||
109 | + v_data_chegada_brasil_antiga := NULL; | ||
110 | + v_data_obito_antiga := NULL; | ||
111 | + v_data_uniao_antiga := NULL; | ||
112 | + ELSE | ||
113 | + v_data_nasc_antiga := OLD.data_nasc; | ||
114 | + v_sexo_antigo := COALESCE(OLD.sexo, ''); | ||
115 | + v_nome_mae_antigo := COALESCE(OLD.nome_mae, ''); | ||
116 | + v_nome_pai_antigo := COALESCE(OLD.nome_pai, ''); | ||
117 | + v_nome_conjuge_antigo := COALESCE(OLD.nome_conjuge, ''); | ||
118 | + v_nome_responsavel_antigo := COALESCE(OLD.nome_responsavel, ''); | ||
119 | + v_nome_ultima_empresa_antigo := COALESCE(OLD.ultima_empresa, ''); | ||
120 | + v_id_ocupacao_antigo := COALESCE(OLD.idocup, 0); | ||
121 | + v_id_escolaridade_antigo := COALESCE(OLD.idesco, 0); | ||
122 | + v_id_estado_civil_antigo := COALESCE(OLD.ideciv, 0); | ||
123 | + v_id_pais_origem_antigo := COALESCE(OLD.idpais_estrangeiro, 0); | ||
124 | + v_data_chegada_brasil_antiga := OLD.data_chegada_brasil; | ||
125 | + v_data_obito_antiga := OLD.data_obito; | ||
126 | + v_data_uniao_antiga := OLD.data_uniao; | ||
127 | + END IF; | ||
128 | + | ||
129 | + v_idcam_data_nasc := 5; | ||
130 | + v_idcam_sexo := 26; | ||
131 | + v_idcam_nome_mae := 27; | ||
132 | + v_idcam_nome_pai := 28; | ||
133 | + v_idcam_nome_conjuge := 29; | ||
134 | + v_idcam_nome_responsavel := 30; | ||
135 | + v_idcam_nome_ultima_empresa := 31; | ||
136 | + v_idcam_ocupacao := 32; | ||
137 | + v_idcam_escolaridade := 33; | ||
138 | + v_idcam_estado_civil := 34; | ||
139 | + v_idcam_pais_origem := 35; | ||
140 | + v_idcam_data_chegada_brasil := 36; | ||
141 | + v_idcam_data_obito := 37; | ||
142 | + v_idcam_data_uniao := 38; | ||
143 | + | ||
144 | + v_nova_credibilidade := 0; | ||
145 | + v_credibilidade_maxima := 1; | ||
146 | + v_credibilidade_alta := 2; | ||
147 | + v_sem_credibilidade := 5; | ||
148 | + v_comando := 'SELECT origem_gravacao FROM cadastro.pessoa WHERE idpes='||quote_literal(v_idpes)||';'; | ||
149 | + | ||
150 | + FOR v_registro IN EXECUTE v_comando LOOP | ||
151 | + v_origem_gravacao := v_registro.origem_gravacao; | ||
152 | + END LOOP; | ||
153 | + | ||
154 | + IF v_origem_gravacao = 'U' OR v_origem_gravacao = 'O' THEN -- os dados foram editados pelo usuário ou pelo usuário do Oscar | ||
155 | + v_nova_credibilidade := v_credibilidade_maxima; | ||
156 | + ELSIF v_origem_gravacao = 'M' THEN -- os dados foram originados por migração | ||
157 | + v_nova_credibilidade := v_credibilidade_alta; | ||
158 | + END IF; | ||
159 | + | ||
160 | + IF v_nova_credibilidade > 0 THEN | ||
161 | + | ||
162 | + -- DATA DE NASCIMENTO | ||
163 | + v_aux_data_nova := COALESCE(TO_CHAR (v_data_nasc_nova, 'DD/MM/YYYY'), ''); | ||
164 | + v_aux_data_antiga := COALESCE(TO_CHAR (v_data_nasc_antiga, 'DD/MM/YYYY'), ''); | ||
165 | + | ||
166 | + IF v_aux_data_nova <> v_aux_data_antiga THEN | ||
167 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_data_nasc||','||v_nova_credibilidade||');'; | ||
168 | + END IF; | ||
169 | + | ||
170 | + -- DATA DE UNIÃO | ||
171 | + v_aux_data_nova := COALESCE(TO_CHAR (v_data_uniao_nova, 'DD/MM/YYYY'), ''); | ||
172 | + v_aux_data_antiga := COALESCE(TO_CHAR (v_data_uniao_antiga, 'DD/MM/YYYY'), ''); | ||
173 | + | ||
174 | + IF v_aux_data_nova <> v_aux_data_antiga THEN | ||
175 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_data_uniao||','||v_nova_credibilidade||');'; | ||
176 | + END IF; | ||
177 | + | ||
178 | + -- DATA DE ÓBITO | ||
179 | + v_aux_data_nova := COALESCE(TO_CHAR (v_data_obito_nova, 'DD/MM/YYYY'), ''); | ||
180 | + v_aux_data_antiga := COALESCE(TO_CHAR (v_data_obito_antiga, 'DD/MM/YYYY'), ''); | ||
181 | + | ||
182 | + IF v_aux_data_nova <> v_aux_data_antiga THEN | ||
183 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_data_obito||','||v_nova_credibilidade||');'; | ||
184 | + END IF; | ||
185 | + | ||
186 | + -- DATA DE CHEGADA AO BRASIL | ||
187 | + v_aux_data_nova := COALESCE(TO_CHAR (v_data_chegada_brasil_nova, 'DD/MM/YYYY'), ''); | ||
188 | + v_aux_data_antiga := COALESCE(TO_CHAR (v_data_chegada_brasil_antiga, 'DD/MM/YYYY'), ''); | ||
189 | + | ||
190 | + IF v_aux_data_nova <> v_aux_data_antiga THEN | ||
191 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_data_chegada_brasil||','||v_nova_credibilidade||');'; | ||
192 | + END IF; | ||
193 | + | ||
194 | + -- NOME DA MÃE | ||
195 | + IF v_nome_mae_novo <> v_nome_mae_antigo THEN | ||
196 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_nome_mae||','||v_nova_credibilidade||');'; | ||
197 | + END IF; | ||
198 | + | ||
199 | + -- NOME DO PAI | ||
200 | + IF v_nome_pai_novo <> v_nome_pai_antigo THEN | ||
201 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_nome_pai||','||v_nova_credibilidade||');'; | ||
202 | + END IF; | ||
203 | + | ||
204 | + -- NOME DO CONJUGE | ||
205 | + IF v_nome_conjuge_novo <> v_nome_conjuge_antigo THEN | ||
206 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_nome_conjuge||','||v_nova_credibilidade||');'; | ||
207 | + END IF; | ||
208 | + | ||
209 | + -- NOME DO RESPONSAVEL | ||
210 | + IF v_nome_responsavel_novo <> v_nome_responsavel_antigo THEN | ||
211 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_nome_responsavel||','||v_nova_credibilidade||');'; | ||
212 | + END IF; | ||
213 | + | ||
214 | + -- NOME ÚLTIMA EMPRESA | ||
215 | + IF v_nome_ultima_empresa_novo <> v_nome_ultima_empresa_antigo THEN | ||
216 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_nome_ultima_empresa||','||v_nova_credibilidade||');'; | ||
217 | + END IF; | ||
218 | + | ||
219 | + -- SEXO | ||
220 | + IF v_sexo_novo <> v_sexo_antigo THEN | ||
221 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_sexo||','||v_nova_credibilidade||');'; | ||
222 | + END IF; | ||
223 | + | ||
224 | + -- ID OCUPAÇÃO PROFISSIONAL | ||
225 | + IF v_id_ocupacao_novo <> v_id_ocupacao_antigo THEN | ||
226 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_ocupacao||','||v_nova_credibilidade||');'; | ||
227 | + END IF; | ||
228 | + | ||
229 | + -- ID ESCOLARIDADE | ||
230 | + IF v_id_escolaridade_novo <> v_id_escolaridade_antigo THEN | ||
231 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_escolaridade||','||v_nova_credibilidade||');'; | ||
232 | + END IF; | ||
233 | + | ||
234 | + -- ID ESTADO CIVIL | ||
235 | + IF v_id_estado_civil_novo <> v_id_estado_civil_antigo THEN | ||
236 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_estado_civil||','||v_nova_credibilidade||');'; | ||
237 | + END IF; | ||
238 | + | ||
239 | + -- ID PAIS ORIGEM | ||
240 | + IF v_id_pais_origem_novo <> v_id_pais_origem_antigo THEN | ||
241 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_pais_origem||','||v_nova_credibilidade||');'; | ||
242 | + END IF; | ||
243 | + | ||
244 | + END IF; | ||
245 | + | ||
246 | + -- Verificar os campos Vazios ou Nulos | ||
247 | + -- DATA DE NASCIMENTO | ||
248 | + IF TRIM(v_data_nasc_nova::varchar)='' OR v_data_nasc_nova IS NULL THEN | ||
249 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_data_nasc||','||v_sem_credibilidade||');'; | ||
250 | + END IF; | ||
251 | + -- DATA DE UNIÃO | ||
252 | + IF TRIM(v_data_uniao_nova::varchar)='' OR v_data_uniao_nova IS NULL THEN | ||
253 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_data_uniao||','||v_sem_credibilidade||');'; | ||
254 | + END IF; | ||
255 | + -- DATA DE ÓBITO | ||
256 | + IF TRIM(v_data_obito_nova::varchar)='' OR v_data_obito_nova IS NULL THEN | ||
257 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_data_obito||','||v_sem_credibilidade||');'; | ||
258 | + END IF; | ||
259 | + -- DATA DE CHEGADA AO BRASIL | ||
260 | + IF TRIM(v_data_chegada_brasil_nova::varchar)='' OR v_data_chegada_brasil_nova IS NULL THEN | ||
261 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_data_chegada_brasil||','||v_sem_credibilidade||');'; | ||
262 | + END IF; | ||
263 | + -- NOME DA MÃE | ||
264 | + IF TRIM(v_nome_mae_novo)='' OR v_nome_mae_novo IS NULL THEN | ||
265 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_nome_mae||','||v_sem_credibilidade||');'; | ||
266 | + END IF; | ||
267 | + -- NOME DO PAI | ||
268 | + IF TRIM(v_nome_pai_novo)='' OR v_nome_pai_novo IS NULL THEN | ||
269 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_nome_pai||','||v_sem_credibilidade||');'; | ||
270 | + END IF; | ||
271 | + -- NOME DO CONJUGE | ||
272 | + IF TRIM(v_nome_conjuge_novo)='' OR v_nome_conjuge_novo IS NULL THEN | ||
273 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_nome_conjuge||','||v_sem_credibilidade||');'; | ||
274 | + END IF; | ||
275 | + -- NOME DO RESPONSAVEL | ||
276 | + IF TRIM(v_nome_responsavel_novo)='' OR v_nome_responsavel_novo IS NULL THEN | ||
277 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_nome_responsavel||','||v_sem_credibilidade||');'; | ||
278 | + END IF; | ||
279 | + -- NOME ÚLTIMA EMPRESA | ||
280 | + IF TRIM(v_nome_ultima_empresa_novo)='' OR v_nome_ultima_empresa_novo IS NULL THEN | ||
281 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_nome_ultima_empresa||','||v_sem_credibilidade||');'; | ||
282 | + END IF; | ||
283 | + -- SEXO | ||
284 | + IF TRIM(v_sexo_novo)='' OR v_sexo_novo IS NULL THEN | ||
285 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_sexo||','||v_sem_credibilidade||');'; | ||
286 | + END IF; | ||
287 | + -- ID OCUPAÇÃO PROFISSIONAL | ||
288 | + IF v_id_ocupacao_novo <= 0 OR v_id_ocupacao_novo IS NULL THEN | ||
289 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_ocupacao||','||v_sem_credibilidade||');'; | ||
290 | + END IF; | ||
291 | + -- ID ESCOLARIDADE | ||
292 | + IF v_id_escolaridade_novo <= 0 OR v_id_escolaridade_novo IS NULL THEN | ||
293 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_escolaridade||','||v_sem_credibilidade||');'; | ||
294 | + END IF; | ||
295 | + -- ID ESTADO CIVIL | ||
296 | + IF v_id_estado_civil_novo <= 0 OR v_id_estado_civil_novo IS NULL THEN | ||
297 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_estado_civil||','||v_sem_credibilidade||');'; | ||
298 | + END IF; | ||
299 | + -- ID PAIS ORIGEM | ||
300 | + IF v_id_pais_origem_novo <= 0 OR v_id_pais_origem_novo IS NULL THEN | ||
301 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_pais_origem||','||v_sem_credibilidade||');'; | ||
302 | + END IF; | ||
303 | + RETURN NEW; | ||
304 | + END; $$ | ||
305 | + LANGUAGE plpgsql VOLATILE | ||
306 | + COST 100; | ||
307 | + ALTER FUNCTION consistenciacao.fcn_fisica_historico_campo() | ||
308 | + OWNER TO postgres;"); | ||
309 | + } | ||
310 | +} |
ieducar/misc/database/migrations/20170422011405_ajusta_function_aft_documento.php
0 → 100644
@@ -0,0 +1,24 @@ | @@ -0,0 +1,24 @@ | ||
1 | +<?php | ||
2 | + | ||
3 | +use Phinx\Migration\AbstractMigration; | ||
4 | + | ||
5 | +class AjustaFunctionAftDocumento extends AbstractMigration | ||
6 | +{ | ||
7 | + public function change() | ||
8 | + { | ||
9 | + $this->execute("CREATE OR REPLACE FUNCTION cadastro.fcn_aft_documento() | ||
10 | + RETURNS trigger AS | ||
11 | + $$ | ||
12 | + DECLARE | ||
13 | + v_idpes numeric; | ||
14 | + BEGIN | ||
15 | + v_idpes := NEW.idpes; | ||
16 | + EXECUTE 'DELETE FROM cadastro.documento WHERE ( (rg = 0 OR rg IS NULL) AND (idorg_exp_rg IS NULL) AND data_exp_rg IS NULL AND (sigla_uf_exp_rg IS NULL OR length(trim(sigla_uf_exp_rg))=0) AND (tipo_cert_civil = 0 OR tipo_cert_civil IS NULL) AND (num_termo = 0 OR num_termo IS NULL) AND (num_livro = '' OR num_livro IS NULL) AND (num_livro = '' OR num_livro IS NULL) AND (num_folha = 0 OR num_folha IS NULL) AND data_emissao_cert_civil IS NULL AND (sigla_uf_cert_civil IS NULL OR length(trim(sigla_uf_cert_civil))=0) AND (sigla_uf_cart_trabalho IS NULL OR length(trim(sigla_uf_cart_trabalho))=0) AND (cartorio_cert_civil IS NULL OR length(trim(cartorio_cert_civil))=0) AND (num_cart_trabalho = 0 OR num_cart_trabalho IS NULL) AND (serie_cart_trabalho = 0 OR serie_cart_trabalho IS NULL) AND data_emissao_cart_trabalho IS NULL AND (num_tit_eleitor = 0 OR num_tit_eleitor IS NULL) AND (zona_tit_eleitor = 0 OR zona_tit_eleitor IS NULL) AND (secao_tit_eleitor = 0 OR secao_tit_eleitor IS NULL) ) AND idpes='||quote_literal(v_idpes)||' AND certidao_nascimento is null'; | ||
17 | + RETURN NEW; | ||
18 | + END; $$ | ||
19 | + LANGUAGE plpgsql VOLATILE | ||
20 | + COST 100; | ||
21 | + ALTER FUNCTION cadastro.fcn_aft_documento() | ||
22 | + OWNER TO postgres;"); | ||
23 | + } | ||
24 | +} |
ieducar/misc/database/migrations/20170422011557_ajusta_function_documento_historico_campo.php
0 → 100644
@@ -0,0 +1,373 @@ | @@ -0,0 +1,373 @@ | ||
1 | +<?php | ||
2 | + | ||
3 | +use Phinx\Migration\AbstractMigration; | ||
4 | + | ||
5 | +class AjustaFunctionDocumentoHistoricoCampo extends AbstractMigration | ||
6 | +{ | ||
7 | + public function change() | ||
8 | + { | ||
9 | + $this->execute("-- Function: consistenciacao.fcn_documento_historico_campo() | ||
10 | + | ||
11 | + -- DROP FUNCTION consistenciacao.fcn_documento_historico_campo(); | ||
12 | + | ||
13 | + CREATE OR REPLACE FUNCTION consistenciacao.fcn_documento_historico_campo() | ||
14 | + RETURNS trigger AS | ||
15 | + $$ | ||
16 | + DECLARE | ||
17 | + v_idpes numeric; | ||
18 | + | ||
19 | + v_data_expedicao_rg_nova date; | ||
20 | + v_data_expedicao_rg_antiga date; | ||
21 | + v_data_emissao_cert_civil_nova date; | ||
22 | + v_data_emissao_cert_civil_antiga date; | ||
23 | + v_data_emissao_cart_trabalho_nova date; | ||
24 | + v_data_emissao_cart_trabalho_antiga date; | ||
25 | + v_orgao_expedicao_rg_novo numeric; | ||
26 | + v_orgao_expedicao_rg_antigo numeric; | ||
27 | + v_numero_rg_novo numeric; | ||
28 | + v_numero_rg_antigo numeric; | ||
29 | + v_numero_titulo_eleitor_novo numeric; | ||
30 | + v_numero_titulo_eleitor_antigo numeric; | ||
31 | + v_numero_zona_titulo_novo numeric; | ||
32 | + v_numero_zona_titulo_antigo numeric; | ||
33 | + v_numero_secao_titulo_novo numeric; | ||
34 | + v_numero_secao_titulo_antigo numeric; | ||
35 | + v_numero_cart_trabalho_novo numeric; | ||
36 | + v_numero_cart_trabalho_antigo numeric; | ||
37 | + v_numero_serie_cart_trabalho_novo numeric; | ||
38 | + v_numero_serie_cart_trabalho_antigo numeric; | ||
39 | + v_tipo_certidao_civil_novo numeric; | ||
40 | + v_tipo_certidao_civil_antigo numeric; | ||
41 | + v_numero_termo_certidao_civil_novo numeric; | ||
42 | + v_numero_termo_certidao_civil_antigo numeric; | ||
43 | + v_numero_livro_certidao_civil_novo varchar; | ||
44 | + v_numero_livro_certidao_civil_antigo varchar; | ||
45 | + v_numero_folha_certidao_civil_novo numeric; | ||
46 | + v_numero_folha_certidao_civil_antigo numeric; | ||
47 | + v_cartorio_certidao_civil_novo text; | ||
48 | + v_cartorio_certidao_civil_antigo text; | ||
49 | + v_uf_expedicao_rg_novo text; | ||
50 | + v_uf_expedicao_rg_antigo text; | ||
51 | + v_uf_emissao_certidao_civil_novo text; | ||
52 | + v_uf_emissao_certidao_civil_antigo text; | ||
53 | + v_uf_emissao_carteira_trabalho_novo text; | ||
54 | + v_uf_emissao_carteira_trabalho_antigo text; | ||
55 | + | ||
56 | + v_comando text; | ||
57 | + v_origem_gravacao text; | ||
58 | + | ||
59 | + v_credibilidade_maxima numeric; | ||
60 | + v_credibilidade_alta numeric; | ||
61 | + v_sem_credibilidade numeric; | ||
62 | + | ||
63 | + v_nova_credibilidade numeric; | ||
64 | + | ||
65 | + v_registro record; | ||
66 | + v_aux_data_nova text; | ||
67 | + v_aux_data_antiga text; | ||
68 | + | ||
69 | + -- ID dos campos | ||
70 | + v_idcam_numero_rg numeric; | ||
71 | + v_idcam_orgao_expedidor_rg numeric; | ||
72 | + v_idcam_data_expedicao_rg numeric; | ||
73 | + v_idcam_uf_expedicao_rg numeric; | ||
74 | + v_idcam_tipo_certidao_civil numeric; | ||
75 | + v_idcam_numero_termo_certidao_civil numeric; | ||
76 | + v_idcam_numero_livro_certidao_civil numeric; | ||
77 | + v_idcam_numero_folha_certidao_civil numeric; | ||
78 | + v_idcam_data_emissao_certidao_civil numeric; | ||
79 | + v_idcam_cartorio_certidao_civil numeric; | ||
80 | + v_idcam_uf_emissao_certidao_civil numeric; | ||
81 | + v_idcam_numero_carteira_trabalho numeric; | ||
82 | + v_idcam_numero_serie_carteira_trabalho numeric; | ||
83 | + v_idcam_data_emissao_carteira_trabalho numeric; | ||
84 | + v_idcam_uf_emissao_carteira_trabalho numeric; | ||
85 | + v_idcam_numero_titulo_eleitor numeric; | ||
86 | + v_idcam_numero_zona_titulo_eleitor numeric; | ||
87 | + v_idcam_numero_secao_titulo_eleitor numeric; | ||
88 | + | ||
89 | + /* | ||
90 | + consistenciacao.historico_campo.credibilidade: 1 = Maxima, 2 = Alta, 3 = Media, 4 = Baixa, 5 = Sem credibilidade | ||
91 | + cadastro.pessoa.origem_gravacao: M = Migracao, U = Usuario, C = Rotina de confrontacao, O = Oscar | ||
92 | + */ | ||
93 | + BEGIN | ||
94 | + v_idpes := NEW.idpes; | ||
95 | + | ||
96 | + v_data_expedicao_rg_nova := NEW.data_exp_rg; | ||
97 | + v_data_emissao_cert_civil_nova := NEW.data_emissao_cert_civil; | ||
98 | + v_data_emissao_cart_trabalho_nova := NEW.data_emissao_cart_trabalho; | ||
99 | + v_orgao_expedicao_rg_novo := NEW.idorg_exp_rg; | ||
100 | + v_numero_rg_novo := NEW.rg; | ||
101 | + v_numero_titulo_eleitor_novo := NEW.num_tit_eleitor; | ||
102 | + v_numero_zona_titulo_novo := NEW.zona_tit_eleitor; | ||
103 | + v_numero_secao_titulo_novo := NEW.secao_tit_eleitor; | ||
104 | + v_numero_cart_trabalho_novo := NEW.num_cart_trabalho; | ||
105 | + v_numero_serie_cart_trabalho_novo := NEW.serie_cart_trabalho; | ||
106 | + v_tipo_certidao_civil_novo := NEW.tipo_cert_civil; | ||
107 | + v_numero_termo_certidao_civil_novo := NEW.num_termo; | ||
108 | + v_numero_livro_certidao_civil_novo := NEW.num_livro; | ||
109 | + v_numero_folha_certidao_civil_novo := NEW.num_folha; | ||
110 | + v_cartorio_certidao_civil_novo := NEW.cartorio_cert_civil; | ||
111 | + v_uf_expedicao_rg_novo := NEW.sigla_uf_exp_rg; | ||
112 | + v_uf_emissao_certidao_civil_novo := NEW.sigla_uf_cert_civil; | ||
113 | + v_uf_emissao_carteira_trabalho_novo := NEW.sigla_uf_cart_trabalho; | ||
114 | + | ||
115 | + IF TG_OP <> 'UPDATE' THEN | ||
116 | + v_data_expedicao_rg_antiga := NULL; | ||
117 | + v_data_emissao_cert_civil_antiga := NULL; | ||
118 | + v_data_emissao_cart_trabalho_antiga := NULL; | ||
119 | + v_orgao_expedicao_rg_antigo := 0; | ||
120 | + v_numero_rg_antigo := 0; | ||
121 | + v_numero_titulo_eleitor_antigo := 0; | ||
122 | + v_numero_zona_titulo_antigo := 0; | ||
123 | + v_numero_secao_titulo_antigo := 0; | ||
124 | + v_numero_cart_trabalho_antigo := 0; | ||
125 | + v_numero_serie_cart_trabalho_antigo := 0; | ||
126 | + v_tipo_certidao_civil_antigo := 0; | ||
127 | + v_numero_termo_certidao_civil_antigo := 0; | ||
128 | + v_numero_livro_certidao_civil_antigo := ''; | ||
129 | + v_numero_folha_certidao_civil_antigo := 0; | ||
130 | + v_cartorio_certidao_civil_antigo := ''; | ||
131 | + v_uf_expedicao_rg_antigo := ''; | ||
132 | + v_uf_emissao_certidao_civil_antigo := ''; | ||
133 | + v_uf_emissao_carteira_trabalho_antigo := ''; | ||
134 | + ELSE | ||
135 | + v_data_expedicao_rg_antiga := OLD.data_exp_rg; | ||
136 | + v_data_emissao_cert_civil_antiga := OLD.data_emissao_cert_civil; | ||
137 | + v_data_emissao_cart_trabalho_antiga := OLD.data_emissao_cart_trabalho; | ||
138 | + v_orgao_expedicao_rg_antigo := COALESCE(OLD.idorg_exp_rg, 0); | ||
139 | + v_numero_rg_antigo := COALESCE(OLD.rg, 0); | ||
140 | + v_numero_titulo_eleitor_antigo := COALESCE(OLD.num_tit_eleitor, 0); | ||
141 | + v_numero_zona_titulo_antigo := COALESCE(OLD.zona_tit_eleitor, 0); | ||
142 | + v_numero_secao_titulo_antigo := COALESCE(OLD.secao_tit_eleitor, 0); | ||
143 | + v_numero_cart_trabalho_antigo := COALESCE(OLD.num_cart_trabalho, 0); | ||
144 | + v_numero_serie_cart_trabalho_antigo := COALESCE(OLD.serie_cart_trabalho, 0); | ||
145 | + v_tipo_certidao_civil_antigo := COALESCE(OLD.tipo_cert_civil, 0); | ||
146 | + v_numero_termo_certidao_civil_antigo := COALESCE(OLD.num_termo, 0); | ||
147 | + v_numero_livro_certidao_civil_antigo := OLD.num_livro; | ||
148 | + v_numero_folha_certidao_civil_antigo := COALESCE(OLD.num_folha, 0); | ||
149 | + v_cartorio_certidao_civil_antigo := COALESCE(OLD.cartorio_cert_civil, ''); | ||
150 | + v_uf_expedicao_rg_antigo := COALESCE(OLD.sigla_uf_exp_rg, ''); | ||
151 | + v_uf_emissao_certidao_civil_antigo := COALESCE(OLD.sigla_uf_cert_civil, ''); | ||
152 | + v_uf_emissao_carteira_trabalho_antigo := COALESCE(OLD.sigla_uf_cart_trabalho, ''); | ||
153 | + END IF; | ||
154 | + | ||
155 | + v_idcam_numero_rg := 6; | ||
156 | + v_idcam_orgao_expedidor_rg := 7; | ||
157 | + v_idcam_data_expedicao_rg := 8; | ||
158 | + v_idcam_uf_expedicao_rg := 9; | ||
159 | + v_idcam_tipo_certidao_civil := 10; | ||
160 | + v_idcam_numero_termo_certidao_civil := 11; | ||
161 | + v_idcam_numero_livro_certidao_civil := 12; | ||
162 | + v_idcam_numero_folha_certidao_civil := 13; | ||
163 | + v_idcam_data_emissao_certidao_civil := 14; | ||
164 | + v_idcam_cartorio_certidao_civil := 15; | ||
165 | + v_idcam_uf_emissao_certidao_civil := 16; | ||
166 | + v_idcam_numero_carteira_trabalho := 17; | ||
167 | + v_idcam_numero_serie_carteira_trabalho := 18; | ||
168 | + v_idcam_data_emissao_carteira_trabalho := 19; | ||
169 | + v_idcam_uf_emissao_carteira_trabalho := 20; | ||
170 | + v_idcam_numero_titulo_eleitor := 21; | ||
171 | + v_idcam_numero_zona_titulo_eleitor := 22; | ||
172 | + v_idcam_numero_secao_titulo_eleitor := 23; | ||
173 | + | ||
174 | + v_nova_credibilidade := 0; | ||
175 | + v_credibilidade_maxima := 1; | ||
176 | + v_credibilidade_alta := 2; | ||
177 | + v_sem_credibilidade := 5; | ||
178 | + v_comando := 'SELECT origem_gravacao FROM cadastro.pessoa WHERE idpes='||quote_literal(v_idpes)||';'; | ||
179 | + | ||
180 | + FOR v_registro IN EXECUTE v_comando LOOP | ||
181 | + v_origem_gravacao := v_registro.origem_gravacao; | ||
182 | + END LOOP; | ||
183 | + | ||
184 | + IF v_origem_gravacao = 'U' OR v_origem_gravacao = 'O' THEN -- os dados foram editados pelo usuario ou pelo usuario do Oscar | ||
185 | + v_nova_credibilidade := v_credibilidade_maxima; | ||
186 | + ELSIF v_origem_gravacao = 'M' THEN -- os dados foram originados por migracao | ||
187 | + v_nova_credibilidade := v_credibilidade_alta; | ||
188 | + END IF; | ||
189 | + | ||
190 | + IF v_nova_credibilidade > 0 THEN | ||
191 | + | ||
192 | + -- DATA DE EXPEDICAO DO RG | ||
193 | + v_aux_data_nova := COALESCE(TO_CHAR (v_data_expedicao_rg_nova, 'DD/MM/YYYY'), ''); | ||
194 | + v_aux_data_antiga := COALESCE(TO_CHAR (v_data_expedicao_rg_antiga, 'DD/MM/YYYY'), ''); | ||
195 | + | ||
196 | + IF v_aux_data_nova <> v_aux_data_antiga THEN | ||
197 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_data_expedicao_rg||','||v_nova_credibilidade||');'; | ||
198 | + END IF; | ||
199 | + | ||
200 | + -- DATA DE EMISSAO CERTIDAO CIVIL | ||
201 | + v_aux_data_nova := COALESCE(TO_CHAR (v_data_emissao_cert_civil_nova, 'DD/MM/YYYY'), ''); | ||
202 | + v_aux_data_antiga := COALESCE(TO_CHAR (v_data_emissao_cert_civil_antiga, 'DD/MM/YYYY'), ''); | ||
203 | + | ||
204 | + IF v_aux_data_nova <> v_aux_data_antiga THEN | ||
205 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_data_emissao_certidao_civil||','||v_nova_credibilidade||');'; | ||
206 | + END IF; | ||
207 | + | ||
208 | + -- DATA DE EMISSAO CARTEIRA DE TRABALHO | ||
209 | + v_aux_data_nova := COALESCE(TO_CHAR (v_data_emissao_cart_trabalho_nova, 'DD/MM/YYYY'), ''); | ||
210 | + v_aux_data_antiga := COALESCE(TO_CHAR (v_data_emissao_cart_trabalho_antiga, 'DD/MM/YYYY'), ''); | ||
211 | + | ||
212 | + IF v_aux_data_nova <> v_aux_data_antiga THEN | ||
213 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_data_emissao_carteira_trabalho||','||v_nova_credibilidade||');'; | ||
214 | + END IF; | ||
215 | + | ||
216 | + -- ORGAO EXPEDIDOR DO RG | ||
217 | + IF v_orgao_expedicao_rg_novo <> v_orgao_expedicao_rg_antigo THEN | ||
218 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_orgao_expedidor_rg||','||v_nova_credibilidade||');'; | ||
219 | + END IF; | ||
220 | + | ||
221 | + -- RG | ||
222 | + IF v_numero_rg_novo <> v_numero_rg_antigo THEN | ||
223 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_numero_rg||','||v_nova_credibilidade||');'; | ||
224 | + END IF; | ||
225 | + | ||
226 | + -- TITULO ELEITOR | ||
227 | + IF v_numero_titulo_eleitor_novo <> v_numero_titulo_eleitor_antigo THEN | ||
228 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_numero_titulo_eleitor||','||v_nova_credibilidade||');'; | ||
229 | + END IF; | ||
230 | + | ||
231 | + -- ZONA TITULO ELEITOR | ||
232 | + IF v_numero_zona_titulo_novo <> v_numero_zona_titulo_antigo THEN | ||
233 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_numero_zona_titulo_eleitor||','||v_nova_credibilidade||');'; | ||
234 | + END IF; | ||
235 | + | ||
236 | + -- SECAO TITULO ELEITOR | ||
237 | + IF v_numero_secao_titulo_novo <> v_numero_secao_titulo_antigo THEN | ||
238 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_numero_secao_titulo_eleitor||','||v_nova_credibilidade||');'; | ||
239 | + END IF; | ||
240 | + | ||
241 | + -- CARTEIRA DE TRABALHO | ||
242 | + IF v_numero_cart_trabalho_novo <> v_numero_cart_trabalho_antigo THEN | ||
243 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_numero_carteira_trabalho||','||v_nova_credibilidade||');'; | ||
244 | + END IF; | ||
245 | + | ||
246 | + -- SERIE CARTEIRA DE TRABALHO | ||
247 | + IF v_numero_serie_cart_trabalho_novo <> v_numero_serie_cart_trabalho_antigo THEN | ||
248 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_numero_serie_carteira_trabalho||','||v_nova_credibilidade||');'; | ||
249 | + END IF; | ||
250 | + | ||
251 | + -- TIPO CERTIDAO CIVIL | ||
252 | + IF v_tipo_certidao_civil_novo <> v_tipo_certidao_civil_antigo THEN | ||
253 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_tipo_certidao_civil||','||v_nova_credibilidade||');'; | ||
254 | + END IF; | ||
255 | + | ||
256 | + -- NUMERO TERMO CERTIDAO CIVIL | ||
257 | + IF v_numero_termo_certidao_civil_novo <> v_numero_termo_certidao_civil_antigo THEN | ||
258 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_numero_termo_certidao_civil||','||v_nova_credibilidade||');'; | ||
259 | + END IF; | ||
260 | + | ||
261 | + -- NUMERO LIVRO CERTIDAO CIVIL | ||
262 | + IF v_numero_livro_certidao_civil_novo <> v_numero_livro_certidao_civil_antigo THEN | ||
263 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_numero_livro_certidao_civil||','||v_nova_credibilidade||');'; | ||
264 | + END IF; | ||
265 | + | ||
266 | + -- NUMERO FOLHA CERTIDAO CIVIL | ||
267 | + IF v_numero_folha_certidao_civil_novo <> v_numero_folha_certidao_civil_antigo THEN | ||
268 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_numero_folha_certidao_civil||','||v_nova_credibilidade||');'; | ||
269 | + END IF; | ||
270 | + | ||
271 | + -- CARTORIO CERTIDAO CIVIL | ||
272 | + IF v_cartorio_certidao_civil_novo <> v_cartorio_certidao_civil_antigo THEN | ||
273 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_cartorio_certidao_civil||','||v_nova_credibilidade||');'; | ||
274 | + END IF; | ||
275 | + | ||
276 | + -- UF EXPEDICAO RG | ||
277 | + IF v_uf_expedicao_rg_novo <> v_uf_expedicao_rg_antigo THEN | ||
278 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_uf_expedicao_rg||','||v_nova_credibilidade||');'; | ||
279 | + END IF; | ||
280 | + | ||
281 | + -- UF EMISSAO CERTIDAO CIVIL | ||
282 | + IF v_uf_emissao_certidao_civil_novo <> v_uf_emissao_certidao_civil_antigo THEN | ||
283 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_uf_emissao_certidao_civil||','||v_nova_credibilidade||');'; | ||
284 | + END IF; | ||
285 | + | ||
286 | + -- UF EMISSAO CARTEIRA DE TRABALHO | ||
287 | + IF v_uf_emissao_carteira_trabalho_novo <> v_uf_emissao_carteira_trabalho_antigo THEN | ||
288 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_uf_emissao_carteira_trabalho||','||v_nova_credibilidade||');'; | ||
289 | + END IF; | ||
290 | + | ||
291 | + END IF; | ||
292 | + -- Verificar os campos Vazios ou Nulos | ||
293 | + -- DATA DE EXPEDICAO DO RG | ||
294 | + IF TRIM(v_data_expedicao_rg_nova::varchar)='' OR v_data_expedicao_rg_nova IS NULL THEN | ||
295 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_data_expedicao_rg||','||v_sem_credibilidade||');'; | ||
296 | + END IF; | ||
297 | + -- DATA DE EMISSAO CERTIDAO CIVIL | ||
298 | + IF TRIM(v_data_emissao_cert_civil_nova::varchar)='' OR v_data_emissao_cert_civil_nova IS NULL THEN | ||
299 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_data_emissao_certidao_civil||','||v_sem_credibilidade||');'; | ||
300 | + END IF; | ||
301 | + -- DATA DE EMISSAO CARTEIRA DE TRABALHO | ||
302 | + IF TRIM(v_data_emissao_cart_trabalho_nova::varchar)='' OR v_data_emissao_cart_trabalho_nova IS NULL THEN | ||
303 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_data_emissao_carteira_trabalho||','||v_sem_credibilidade||');'; | ||
304 | + END IF; | ||
305 | + -- ORGAO EXPEDIDOR DO RG | ||
306 | + IF v_orgao_expedicao_rg_novo <= 0 OR v_orgao_expedicao_rg_novo IS NULL THEN | ||
307 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_orgao_expedidor_rg||','||v_sem_credibilidade||');'; | ||
308 | + END IF; | ||
309 | + -- RG | ||
310 | + IF v_numero_rg_novo <= 0 OR v_numero_rg_novo IS NULL THEN | ||
311 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_numero_rg||','||v_sem_credibilidade||');'; | ||
312 | + END IF; | ||
313 | + -- TITULO ELEITOR | ||
314 | + IF v_numero_titulo_eleitor_novo <= 0 OR v_numero_titulo_eleitor_novo IS NULL THEN | ||
315 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_numero_titulo_eleitor||','||v_sem_credibilidade||');'; | ||
316 | + END IF; | ||
317 | + -- ZONA TITULO ELEITOR | ||
318 | + IF v_numero_zona_titulo_novo <= 0 OR v_numero_zona_titulo_novo IS NULL THEN | ||
319 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_numero_zona_titulo_eleitor||','||v_sem_credibilidade||');'; | ||
320 | + END IF; | ||
321 | + -- SECAO TITULO ELEITOR | ||
322 | + IF v_numero_secao_titulo_novo <= 0 OR v_numero_secao_titulo_novo IS NULL THEN | ||
323 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_numero_secao_titulo_eleitor||','||v_sem_credibilidade||');'; | ||
324 | + END IF; | ||
325 | + -- CARTEIRA DE TRABALHO | ||
326 | + IF v_numero_cart_trabalho_novo <= 0 OR v_numero_cart_trabalho_novo IS NULL THEN | ||
327 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_numero_carteira_trabalho||','||v_sem_credibilidade||');'; | ||
328 | + END IF; | ||
329 | + -- SERIE CARTEIRA DE TRABALHO | ||
330 | + IF v_numero_serie_cart_trabalho_novo <= 0 OR v_numero_serie_cart_trabalho_novo IS NULL THEN | ||
331 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_numero_serie_carteira_trabalho||','||v_sem_credibilidade||');'; | ||
332 | + END IF; | ||
333 | + -- TIPO CERTIDAO CIVIL | ||
334 | + IF v_tipo_certidao_civil_novo <= 0 OR v_tipo_certidao_civil_novo IS NULL THEN | ||
335 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_tipo_certidao_civil||','||v_sem_credibilidade||');'; | ||
336 | + END IF; | ||
337 | + -- NUMERO TERMO CERTIDAO CIVIL | ||
338 | + IF v_numero_termo_certidao_civil_novo <= 0 OR v_numero_termo_certidao_civil_novo IS NULL THEN | ||
339 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_numero_termo_certidao_civil||','||v_sem_credibilidade||');'; | ||
340 | + END IF; | ||
341 | + -- NUMERO LIVRO CERTIDAO CIVIL | ||
342 | + IF v_numero_livro_certidao_civil_novo = '' OR v_numero_livro_certidao_civil_novo IS NULL THEN | ||
343 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_numero_livro_certidao_civil||','||v_sem_credibilidade||');'; | ||
344 | + END IF; | ||
345 | + -- NUMERO FOLHA CERTIDAO CIVIL | ||
346 | + IF v_numero_folha_certidao_civil_novo <= 0 OR v_numero_folha_certidao_civil_novo IS NULL THEN | ||
347 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_numero_folha_certidao_civil||','||v_sem_credibilidade||');'; | ||
348 | + END IF; | ||
349 | + -- CARTORIO CERTIDAO CIVIL | ||
350 | + IF TRIM(v_cartorio_certidao_civil_novo)='' OR v_cartorio_certidao_civil_novo IS NULL THEN | ||
351 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_cartorio_certidao_civil||','||v_sem_credibilidade||');'; | ||
352 | + END IF; | ||
353 | + -- UF EXPEDICAO RG | ||
354 | + IF TRIM(v_uf_expedicao_rg_novo)='' OR v_uf_expedicao_rg_novo IS NULL THEN | ||
355 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_uf_expedicao_rg||','||v_sem_credibilidade||');'; | ||
356 | + END IF; | ||
357 | + -- UF EMISSAO CERTIDAO CIVIL | ||
358 | + IF TRIM(v_uf_emissao_certidao_civil_novo)='' OR v_uf_emissao_certidao_civil_novo IS NULL THEN | ||
359 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_uf_emissao_certidao_civil||','||v_sem_credibilidade||');'; | ||
360 | + END IF; | ||
361 | + -- UF EMISSAO CARTEIRA DE TRABALHO | ||
362 | + IF TRIM(v_uf_emissao_carteira_trabalho_novo)='' OR v_uf_emissao_carteira_trabalho_novo IS NULL THEN | ||
363 | + EXECUTE 'SELECT consistenciacao.fcn_gravar_historico_campo('||v_idpes||','||v_idcam_uf_emissao_carteira_trabalho||','||v_sem_credibilidade||');'; | ||
364 | + END IF; | ||
365 | + | ||
366 | + RETURN NEW; | ||
367 | + END;$$ | ||
368 | + LANGUAGE plpgsql VOLATILE | ||
369 | + COST 100; | ||
370 | + ALTER FUNCTION consistenciacao.fcn_documento_historico_campo() | ||
371 | + OWNER TO postgres;"); | ||
372 | + } | ||
373 | +} |