Last active
March 10, 2022 11:07
-
-
Save jonathanalves/f77b5de9dc105819e0bdda198260ecff to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
select substring(nome from '\d+'), nome, * from arquivo_morto am where pasta = 'titulos' and substring(nome from '[a-zA-Z\s]+') is null | |
update arquivo_morto set nome = replace(replace(nome, 'TIT', ''), '.pdf', '') where pasta = 'titulos' and substring(nome from '[a-zA-Z\s]+') is null; | |
update arquivo_morto set nome = substring(nome from '\d+')::numeric::text where pasta = 'titulos' and substring(nome from '[a-zA-Z\s]+') is null; | |
-- Títulos: | |
with arquivos as ( | |
select | |
p.id referencia | |
, replace( arquivo, './', '') caminho | |
, replace( replace( arquivo, './', ''), '.pdf', '') nome | |
, NULLIF(regexp_replace(split_part(replace( replace( arquivo, './', ''), '.pdf', ''), '-', 1), '\D','','g'), '')::numeric codigo | |
, p.codigo | |
from tabelas_auxiliares.arquivos_pdf pm | |
join public.protocolo p on tipo_protocolo = 'NORMAL' and dominio = 'PROTOCOLO_RI' | |
and p.codigo = NULLIF(regexp_replace(split_part(replace( arquivo, '.pdf', ''), '-', 1), '\D','','g'), '')::numeric | |
and pm.pasta = 'titulos' | |
) | |
INSERT INTO public.anexo (referencia, entidade, tamanho, hash, extensao, tipo, nome, nome_anexo, caminho) | |
select | |
referencia, | |
'PROTOCOLO' entidade, | |
0 tamanho, | |
md5(caminho) hash, | |
'pdf' extensao, | |
'application/pdf' tipo, | |
nome, | |
nome nome_anexo, | |
'uploads/importacao/titulos/'||caminho as caminho | |
from arquivos | |
-- Indicador Pessoal | |
with arquivos as ( | |
select | |
p.uuid_asgard referencia | |
, replace( arquivo, './', '') arquivo | |
from tabelas_auxiliares.arquivos_pdf pm | |
join cartisc.pessoa p on p."oid" = replace( arquivo, '.pdf', '') | |
and pm.pasta = 'indicador-pessoal' | |
) | |
INSERT INTO public.anexo (referencia, entidade, tamanho, hash, extensao, tipo, nome, nome_anexo, caminho) | |
select | |
referencia, | |
'INDICADOR_PESSOAL' entidade, | |
0 tamanho, | |
md5(arquivo) hash, | |
'pdf' extensao, | |
'application/pdf' tipo, | |
arquivo, | |
'Digitalização' nome_anexo, | |
'uploads/importacao/indicador-pessoal/'||arquivo as caminho | |
from arquivos | |
-- Transcrições: | |
with ids as ( | |
select t.*, ir.id indicador | |
from migracao.transcricoes_inserts t | |
join indicador_real ir on ir.livro = 'TRANSCRICAO' | |
and t.registro = ir.codigo::text | |
and t.folha = ir.livro_folha | |
) | |
update migracao.transcricoes_inserts set indicador_real_id = ids.indicador | |
from ids where transcricoes_inserts.pasta = ids.pasta and transcricoes_inserts.arquivo = ids.arquivo and transcricoes_inserts.registro = ids.registro | |
update migracao.transcricoes_inserts set id = case when indicador_real_id is not null then indicador_real_id else Uuid_generate_v4() end; | |
-- ARQUIVOS DA GUIA | |
with arquivos as ( | |
select | |
p.uuid_asgard as referencia | |
, ga.descricao as nome | |
, NULLIF(replace(split_part(ga.nome, 'ARQUIVOS', 2), '\', '/'), '') as caminho | |
, public.oid_to_uuid(ga."oid", p.uuid_asgard::text)::uuid as id | |
, case when ga.nome ilike '%.jpg' then 'image/jpg' else 'application/pdf' end as tipo | |
, case when ga.nome ilike '%.jpg' then 'jpg' else 'pdf' end as extensao | |
, ga.nome arq | |
from cartisc.guia___arquivos ga | |
join cartisc.guia g on g."oid" = ga.guia | |
join cartisc.protocolo p on p.guia = g."oid" | |
where ga.nome ilike '%\\ARQUIVOS\\%' | |
) | |
INSERT INTO public.anexo (id, referencia, entidade, tamanho, hash, extensao, tipo, nome, nome_anexo, caminho) | |
select | |
id, | |
referencia, | |
'PROTOCOLO' entidade, | |
0 tamanho, | |
md5(id::text) hash, extensao, tipo, | |
nome, | |
nome as nome_anexo, | |
replace('uploads/importacao/arquivos/'||caminho, '/', '/') as caminho, | |
arq | |
from arquivos; | |
---- TRANSCRICOES | |
with imagens as ( | |
select | |
ta.uuid_asgard id, t.uuid_asgard referencia, nome as original, replace(split_part(nome, 'transc', 2), '\', '/') nome | |
from cartisc.transcricao___arquivos ta | |
join cartisc.transcricao t on t."oid" = ta.transcricao | |
) | |
--INSERT INTO public.anexo (id, referencia, entidade, tamanho, hash, extensao, tipo, nome, nome_anexo, caminho) | |
select | |
id, | |
referencia, | |
'DIGITALIZACAO_INDICADOR_REAL' entidade, | |
0 tamanho, | |
md5(id::text) hash, 'jpg' as extensao, 'image/jpg' as tipo, | |
replace(TRIM( leading '/' from nome), '/', '-') as nome, | |
replace(TRIM( leading '/' from nome), '/', '-') as nome_anexo, | |
'uploads/importacao/transcricoes'||nome as caminho | |
from imagens | |
--- indicador pessoal | |
with arquivos as ( | |
select | |
p.uuid_asgard referencia | |
, caminho arquivo | |
, replace(replace( caminho, '.pdf', ''), 'uploads/importacao/indicador-pessoal/', '') nome | |
from public.arquivo_morto pm | |
join cartisc.pessoa p on replace(replace( p.arquivo_imagens, '.tif', ''), 'IndPess\', '') = replace(replace( caminho, '.pdf', ''), 'uploads/importacao/indicador-pessoal/', '') | |
where pm.pasta = 'indicador-pessoal' and caminho ilike '%.pdf' | |
) | |
INSERT INTO public.anexo (id, referencia, entidade, tamanho, hash, extensao, tipo, nome, nome_anexo, caminho) | |
select | |
referencia id, | |
referencia, | |
'INDICADOR_PESSOAL' entidade, | |
0 tamanho, | |
md5(referencia::text) hash, | |
'pdf' extensao, | |
'application/pdf' tipo, | |
arquivo, | |
nome nome_anexo, | |
arquivo as caminho | |
from arquivos | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment