INSERT INTO perfis_acesso(empresa_id,codigo,descricao,administrador,permissoes,ativo)
SELECT id,'1','ADMINISTRADOR',TRUE,'{"todos":true}'::jsonb,TRUE FROM empresas WHERE tipo_empresa='matriz' AND excluido_em IS NULL ON CONFLICT(empresa_id,codigo) DO NOTHING;

INSERT INTO pessoas(grupo_matriz_id,codigo,tipo_pessoa,nome_razao,ativo)
SELECT id,'0','fisica','Administrador',TRUE FROM empresas WHERE tipo_empresa='matriz' AND excluido_em IS NULL ON CONFLICT(grupo_matriz_id,codigo) DO NOTHING;

INSERT INTO pessoa_empresas(pessoa_id,empresa_id,ativo)
SELECT p.id,e.id,TRUE FROM pessoas p JOIN empresas e ON e.id=p.grupo_matriz_id OR e.matriz_id=p.grupo_matriz_id WHERE p.codigo='0' AND p.nome_razao='Administrador' AND p.excluido_em IS NULL AND e.excluido_em IS NULL ON CONFLICT(pessoa_id,empresa_id) DO NOTHING;

INSERT INTO usuarios(grupo_matriz_id,pessoa_id,empresa_padrao_id,perfil_acesso_id,login,senha_hash,trocar_senha,ativo)
SELECT e.id,p.id,e.id,pa.id,'Admin','$2y$10$SAjCWkFmlP54r7cSJVfCquEGdHbtBxdH3Nk1uKKAmB2XzvCLCwWFy',FALSE,TRUE
FROM empresas e JOIN pessoas p ON p.grupo_matriz_id=e.id AND p.codigo='0' JOIN perfis_acesso pa ON pa.empresa_id=e.id AND pa.administrador=TRUE
WHERE e.tipo_empresa='matriz' AND e.excluido_em IS NULL AND p.excluido_em IS NULL AND pa.excluido_em IS NULL ON CONFLICT(grupo_matriz_id,login) DO NOTHING;
