Commit 8360f8f02c1ed93f3f3489b80ea468caff8f941a

Authored by Caroline Salib
1 parent 0964cb87
Exists in master

Ajustado para salvar corretamente pessoa física;

portabilis/ieducar#167
ieducar/misc/database/migrations/20170422011034_ajusta_function_fisica_historico_campo.php 0 → 100644
... ... @@ -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 @@
  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 @@
  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 +}
... ...