PHP Classes

File: SQL File

Recommend this page to a friend!
  Classes of Matheusz Maydana   Bames   docker/postgres/init.sql   Download  
File: docker/postgres/init.sql
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: Bames
Application collection to study design patterns
Author: By
Last change:
Date: 27 days ago
Size: 42,584 bytes
 

Contents

Class file image Download
CREATE TABLE IF NOT EXISTS businesses ( codigo serial NOT NULL, business_id character varying NOT NULL, business_name character varying, business_razao character varying, business_document character varying, business_email character varying, business_phone character varying, business_whatsapp character varying, business_address character varying, business_address_number character varying, business_address_complement character varying, business_address_neighborhood character varying, business_address_city character varying, business_address_state character varying, business_address_cep character varying, business_acesso_total_autorizado boolean NOT NULL DEFAULT false, business_pos_cadastrada_executado boolean NOT NULL DEFAULT false, business_creditos_saldo numeric NOT NULL DEFAULT 0, business_acesso_nao_autorizado_motivo character varying, business_acesso_nao_autorizado boolean NOT NULL DEFAULT false, PRIMARY KEY (codigo), autodata timestamp with time zone NOT NULL DEFAULT now() ); CREATE TABLE IF NOT EXISTS business_processos_monitorado ( codigo serial NOT NULL, business_processos_monitorado_codigo character varying, processo_cnj character varying, business_id character varying, data_inicio_monitoramento timestamp with time zone, data_ultima_atualizacao timestamp with time zone, PRIMARY KEY (codigo) ); CREATE TABLE IF NOT EXISTS businesses_deletados ( codigo serial NOT NULL, business_id character varying NOT NULL, business_name character varying, business_razao character varying, business_document character varying, business_email character varying, business_phone character varying, business_whatsapp character varying, business_address character varying, business_address_number character varying, business_address_complement character varying, business_address_neighborhood character varying, business_address_city character varying, business_address_state character varying, business_address_cep character varying, business_acesso_total_autorizado boolean NOT NULL DEFAULT false, business_creditos_saldo numeric NOT NULL DEFAULT 0, PRIMARY KEY (codigo), autodata timestamp with time zone NOT NULL DEFAULT now() ); CREATE TABLE IF NOT EXISTS accounts ( codigo serial NOT NULL, acc_id character varying NOT NULL, business_id character varying NOT NULL, acc_email character varying, acc_diretor_geral boolean NOT NULL DEFAULT false, acc_nickname character varying, acc_documento character varying, token_recuperar_senha character varying, acc_password character varying, oab character varying, acc_created_at timestamp with time zone NOT NULL DEFAULT now(), acc_email_verificado boolean NOT NULL DEFAULT false, acc_email_token_verificacao character varying, acc_acesso_bloqueado_mensagem character varying, PRIMARY KEY (codigo) ); CREATE TABLE IF NOT EXISTS accounts_fcm_tokens ( codigo serial NOT NULL, business_id character varying NOT NULL, acc_id character varying NOT NULL, fcm_token character varying NOT NULL, momento timestamp with time zone NOT NULL DEFAULT now(), PRIMARY KEY (codigo) ); CREATE TABLE IF NOT EXISTS accounts_deletados ( codigo serial NOT NULL, acc_id character varying NOT NULL, business_id character varying NOT NULL, acc_email character varying, acc_diretor_geral boolean NOT NULL DEFAULT false, acc_nickname character varying, token_recuperar_senha character varying, acc_password character varying, oab character varying, acc_created_at timestamp with time zone NOT NULL DEFAULT now(), PRIMARY KEY (codigo) ); CREATE TABLE IF NOT EXISTS contas_bancarias ( codigo serial NOT NULL, business_id character varying NOT NULL, conta_bancaria_codigo character varying COLLATE pg_catalog."default", nome character varying COLLATE pg_catalog."default", ambiente character varying COLLATE pg_catalog."default", cedente character varying COLLATE pg_catalog."default", agencia character varying COLLATE pg_catalog."default", conta character varying COLLATE pg_catalog."default", posto character varying COLLATE pg_catalog."default", chave_api character varying COLLATE pg_catalog."default", client_id_api character varying COLLATE pg_catalog."default", cnab character varying COLLATE pg_catalog."default", banco character varying COLLATE pg_catalog."default", webhook_codigo character varying COLLATE pg_catalog."default", autodata timestamp with time zone NOT NULL DEFAULT now(), data_ultima_atualizacao timestamp with time zone, PRIMARY KEY (codigo) ); CREATE TABLE IF NOT EXISTS contas_bancarias_eventos ( codigo serial NOT NULL, business_id character varying NOT NULL, conta_bancaria_codigo character varying COLLATE pg_catalog."default", evento_momento character varying COLLATE pg_catalog."default", evento_descricao character varying COLLATE pg_catalog."default", PRIMARY KEY (codigo) ); CREATE TABLE IF NOT EXISTS auth_jwtokens ( codigo serial, business_id character varying NOT NULL, token character varying COLLATE pg_catalog."default", acc_id character varying COLLATE pg_catalog."default", autodata timestamp with time zone NOT NULL DEFAULT now(), CONSTRAINT auth_jwtokens_pkey PRIMARY KEY (codigo) ); CREATE TABLE IF NOT EXISTS cobrancas ( codigo serial NOT NULL, business_id character varying NOT NULL, cobranca_id character varying COLLATE pg_catalog."default" NOT NULL, cobranca_id_plataforma_api_cobranca character varying COLLATE pg_catalog."default", pagador_id character varying COLLATE pg_catalog."default" NOT NULL, pagador_nome_completo character varying COLLATE pg_catalog."default" NOT NULL, conta_bancaria_id character varying COLLATE pg_catalog."default" NOT NULL, meio_de_pagamento character varying COLLATE pg_catalog."default", data_vencimento DATE, mensagem TEXT, multa DECIMAL, juros DECIMAL, parcelas integer NOT NULL DEFAULT 1, valor_desconto_antecipacao DECIMAL, tipo_desconto character varying COLLATE pg_catalog."default", tipo_juros character varying COLLATE pg_catalog."default", tipo_multa character varying COLLATE pg_catalog."default", autodata timestamp with time zone NOT NULL DEFAULT now(), CONSTRAINT cobrancas_pkey PRIMARY KEY (codigo) ); CREATE TABLE IF NOT EXISTS cobrancas_eventos ( codigo serial NOT NULL, business_id character varying NOT NULL, cobranca_id character varying COLLATE pg_catalog."default" NOT NULL, evento_momento character varying COLLATE pg_catalog."default" NOT NULL, evento_descricao character varying COLLATE pg_catalog."default" NOT NULL, CONSTRAINT cobrancas_eventos_pkey PRIMARY KEY (codigo) ); CREATE TABLE IF NOT EXISTS cobrancas_composicao ( codigo serial NOT NULL, business_id character varying NOT NULL, plano_de_contas_id character varying COLLATE pg_catalog."default", plano_de_conta_nome character varying COLLATE pg_catalog."default", cobranca_id character varying COLLATE pg_catalog."default", descricao character varying COLLATE pg_catalog."default", valor character varying COLLATE pg_catalog."default", PRIMARY KEY (codigo), autodata timestamp with time zone NOT NULL DEFAULT now() ); CREATE TABLE IF NOT EXISTS boletos ( codigo serial NOT NULL, business_id character varying NOT NULL, boleto_id character varying COLLATE pg_catalog."default" NOT NULL, boleto_id_plataforma_api_cobranca character varying COLLATE pg_catalog."default", boleto_pagador_id_plataforma_API_cobranca character varying COLLATE pg_catalog."default", cobranca_id_plataforma_api_cobranca character varying COLLATE pg_catalog."default", cobranca_id character varying COLLATE pg_catalog."default", cliente_id character varying COLLATE pg_catalog."default", conta_bancaria_id character varying COLLATE pg_catalog."default", boleto_foi_aceito_pela_plataforma boolean NOT NULL DEFAULT false, boleto_foi_liquidado_manualmente boolean NOT NULL DEFAULT false, boleto_quem_liquidou_manualmente character varying COLLATE pg_catalog."default", boleto_quando_liquidou_manualmente timestamp with time zone, boleto_valor DECIMAL, boleto_parcelas character varying COLLATE pg_catalog."default", boleto_resposta_completa_plataforma character varying COLLATE pg_catalog."default", boleto_valor_recebido DECIMAL, boleto_data_vencimento DATE, boleto_data_pagamento DATE, boleto_mensagem TEXT, boleto_multa DECIMAL, boleto_juros DECIMAL, boleto_seu_numero character varying COLLATE pg_catalog."default", boleto_nosso_numero character varying COLLATE pg_catalog."default", boleto_linha_digitavel character varying COLLATE pg_catalog."default", boleto_codigo_barras character varying COLLATE pg_catalog."default", boleto_qrcode_pix character varying COLLATE pg_catalog."default", boleto_url character varying COLLATE pg_catalog."default", boleto_status character varying COLLATE pg_catalog."default", CONSTRAINT boletos_pkey PRIMARY KEY (codigo) ); CREATE TABLE plano_de_contas ( codigo serial NOT NULL, plano_de_contas_codigo character varying NOT NULL, plano_de_contas_nome character varying NOT NULL, plano_de_contas_descricao character varying, plano_de_contas_tipo character varying NOT NULL, plano_de_contas_categoria character varying, plano_de_contas_nivel integer, pai_id integer, CONSTRAINT plano_de_contas_pkey PRIMARY KEY (codigo) ); /* -- Inserir as contas principais (nível 1) de Receitas INSERT INTO plano_de_contas (plano_de_contas_codigo, plano_de_contas_nome, plano_de_contas_descricao, plano_de_contas_tipo, plano_de_contas_categoria, plano_de_contas_nivel) SELECT * FROM (VALUES ('', 'Honorários por Consulta', 'Receitas provenientes de honorários cobrados pelas consultas jurídicas', 'Receita', 'Receitas', 1), ('', 'Honorários por Serviços Adicionais', 'Receitas de serviços jurídicos adicionais, como pareceres e consultorias', 'Receita', 'Receitas', 1), ('', 'Honorários de Contencioso', 'Receitas relacionadas à representação legal em processos judiciais', 'Receita', 'Receitas', 1), ('', 'Outras Receitas', 'Outras fontes de receitas não diretamente ligadas a serviços jurídicos', 'Receita', 'Receitas', 1) ) AS new_entries (plano_de_contas_codigo, plano_de_contas_nome, plano_de_contas_descricao, plano_de_contas_tipo, plano_de_contas_categoria, plano_de_contas_nivel) WHERE NOT EXISTS ( SELECT 1 FROM plano_de_contas WHERE plano_de_contas.plano_de_contas_nome = new_entries.plano_de_contas_nome AND plano_de_contas.plano_de_contas_categoria = new_entries.plano_de_contas_categoria ); -- Inserir subcontas (nível 2) para Honorários por Consulta INSERT INTO plano_de_contas (plano_de_contas_codigo, plano_de_contas_nome, plano_de_contas_descricao, plano_de_contas_tipo, plano_de_contas_categoria, plano_de_contas_nivel, pai_id) SELECT * FROM (VALUES ('', 'Consultas Presenciais', 'Valor cobrado por consultas realizadas presencialmente no escritório', 'Receita', 'Honorários por Consulta', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Honorários por Consulta' AND plano_de_contas_categoria = 'Receitas' LIMIT 1)), ('', 'Consultas Online', 'Valor cobrado por consultas realizadas de forma remota (por telefone, videoconferência, etc.)', 'Receita', 'Honorários por Consulta', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Honorários por Consulta' AND plano_de_contas_categoria = 'Receitas' LIMIT 1)), ('', 'Consultas Emergenciais', 'Honorários cobrados por consultas urgentes ou fora do horário comercial', 'Receita', 'Honorários por Consulta', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Honorários por Consulta' AND plano_de_contas_categoria = 'Receitas' LIMIT 1)), ('', 'Consultas de Aconselhamento Jurídico', 'Consultas para orientação jurídica sem a abertura de processos ou litígios', 'Receita', 'Honorários por Consulta', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Honorários por Consulta' AND plano_de_contas_categoria = 'Receitas' LIMIT 1)) ) AS new_entries (plano_de_contas_codigo, plano_de_contas_nome, plano_de_contas_descricao, plano_de_contas_tipo, plano_de_contas_categoria, plano_de_contas_nivel, pai_id) WHERE NOT EXISTS ( SELECT 1 FROM plano_de_contas WHERE plano_de_contas.plano_de_contas_nome = new_entries.plano_de_contas_nome AND plano_de_contas.plano_de_contas_categoria = new_entries.plano_de_contas_categoria ); -- Inserir subcontas (nível 2) para Honorários por Serviços Adicionais INSERT INTO plano_de_contas (plano_de_contas_codigo, plano_de_contas_nome, plano_de_contas_descricao, plano_de_contas_tipo, plano_de_contas_categoria, plano_de_contas_nivel, pai_id) SELECT * FROM (VALUES ('', 'Elaboração de Pareceres Jurídicos', 'Valor cobrado pela elaboração de pareceres ou opiniões jurídicas sobre casos específicos', 'Receita', 'Honorários por Serviços Adicionais', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Honorários por Serviços Adicionais' AND plano_de_contas_categoria = 'Receitas' LIMIT 1)), ('', 'Análise de Documentos', 'Receita gerada pela análise e revisão de documentos como contratos, termos, ou acordos', 'Receita', 'Honorários por Serviços Adicionais', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Honorários por Serviços Adicionais' AND plano_de_contas_categoria = 'Receitas' LIMIT 1)), ('', 'Elaboração de Contratos', 'Receita obtida com a elaboração de documentos legais, como contratos de prestação de serviços ou acordos comerciais', 'Receita', 'Honorários por Serviços Adicionais', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Honorários por Serviços Adicionais' AND plano_de_contas_categoria = 'Receitas' LIMIT 1)), ('', 'Consultoria Empresarial', 'Honorários pagos por consultoria jurídica para empresas', 'Receita', 'Honorários por Serviços Adicionais', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Honorários por Serviços Adicionais' AND plano_de_contas_categoria = 'Receitas' LIMIT 1)) ) AS new_entries (plano_de_contas_codigo, plano_de_contas_nome, plano_de_contas_descricao, plano_de_contas_tipo, plano_de_contas_categoria, plano_de_contas_nivel, pai_id) WHERE NOT EXISTS ( SELECT 1 FROM plano_de_contas WHERE plano_de_contas.plano_de_contas_nome = new_entries.plano_de_contas_nome AND plano_de_contas.plano_de_contas_categoria = new_entries.plano_de_contas_categoria ); -- Inserir subcontas (nível 2) para Honorários de Contencioso INSERT INTO plano_de_contas (plano_de_contas_codigo, plano_de_contas_nome, plano_de_contas_descricao, plano_de_contas_tipo, plano_de_contas_categoria, plano_de_contas_nivel, pai_id) SELECT * FROM (VALUES ('', 'Consultoria Pré-Processual', 'Receita de consultas realizadas antes da abertura de um processo judicial', 'Receita', 'Honorários de Contencioso', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Honorários de Contencioso' AND plano_de_contas_categoria = 'Receitas' LIMIT 1)), ('', 'Honorários de Advogado de Defesa', 'Valor cobrado por representar um cliente em um processo judicial', 'Receita', 'Honorários de Contencioso', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Honorários de Contencioso' AND plano_de_contas_categoria = 'Receitas' LIMIT 1)), ('', 'Honorários de Advogado de Ação', 'Honorários para a condução de uma ação judicial', 'Receita', 'Honorários de Contencioso', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Honorários de Contencioso' AND plano_de_contas_categoria = 'Receitas' LIMIT 1)), ('', 'Honorários de Sucesso', 'Percentual sobre o valor obtido em uma ação judicial de sucesso', 'Receita', 'Honorários de Contencioso', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Honorários de Contencioso' AND plano_de_contas_categoria = 'Receitas' LIMIT 1)) ) AS new_entries (plano_de_contas_codigo, plano_de_contas_nome, plano_de_contas_descricao, plano_de_contas_tipo, plano_de_contas_categoria, plano_de_contas_nivel, pai_id) WHERE NOT EXISTS ( SELECT 1 FROM plano_de_contas WHERE plano_de_contas.plano_de_contas_nome = new_entries.plano_de_contas_nome AND plano_de_contas.plano_de_contas_categoria = new_entries.plano_de_contas_categoria ); -- Inserir subcontas (nível 2) para Outras Receitas INSERT INTO plano_de_contas (plano_de_contas_codigo, plano_de_contas_nome, plano_de_contas_descricao, plano_de_contas_tipo, plano_de_contas_categoria, plano_de_contas_nivel, pai_id) SELECT * FROM (VALUES ('', 'Cursos e Palestras', 'Receitas provenientes da realização de cursos, workshops ou palestras sobre temas jurídicos', 'Receita', 'Outras Receitas', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Outras Receitas' AND plano_de_contas_categoria = 'Receitas' LIMIT 1)), ('', 'Publicações e Livros', 'Receita de vendas de livros, artigos ou publicações jurídicas realizadas pelo escritório', 'Receita', 'Outras Receitas', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Outras Receitas' AND plano_de_contas_categoria = 'Receitas' LIMIT 1)), ('', 'Parcerias e Convênios', 'Valor recebido por meio de parcerias ou convênios com outras empresas ou entidades', 'Receita', 'Outras Receitas', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Outras Receitas' AND plano_de_contas_categoria = 'Receitas' LIMIT 1)) ) AS new_entries (plano_de_contas_codigo, plano_de_contas_nome, plano_de_contas_descricao, plano_de_contas_tipo, plano_de_contas_categoria, plano_de_contas_nivel, pai_id) WHERE NOT EXISTS ( SELECT 1 FROM plano_de_contas WHERE plano_de_contas.plano_de_contas_nome = new_entries.plano_de_contas_nome AND plano_de_contas.plano_de_contas_categoria = new_entries.plano_de_contas_categoria ); ------- DESPESAS -- Inserindo as contas principais (nível 1) de Despesas INSERT INTO plano_de_contas (plano_de_contas_codigo, plano_de_contas_nome, plano_de_contas_descricao, plano_de_contas_tipo, plano_de_contas_categoria, plano_de_contas_nivel) SELECT * FROM (VALUES ('', 'Despesas com Pessoal', 'Despesas relacionadas aos custos de funcionários e colaboradores', 'Despesa', 'Despesas', 1), ('', 'Despesas Operacionais', 'Despesas com o funcionamento diário do escritório', 'Despesa', 'Despesas', 1), ('', 'Marketing e Publicidade', 'Despesas relacionadas à promoção e publicidade do escritório', 'Despesa', 'Despesas', 1), ('', 'Impostos e Taxas', 'Impostos e taxas governamentais a pagar', 'Despesa', 'Despesas', 1), ('', 'Serviços de Terceiros', 'Despesas com serviços contratados de terceiros', 'Despesa', 'Despesas', 1) ) AS new_entries (plano_de_contas_codigo, plano_de_contas_nome, plano_de_contas_descricao, plano_de_contas_tipo, plano_de_contas_categoria, plano_de_contas_nivel) WHERE NOT EXISTS ( SELECT 1 FROM plano_de_contas WHERE plano_de_contas.plano_de_contas_nome = new_entries.plano_de_contas_nome AND plano_de_contas.plano_de_contas_categoria = new_entries.plano_de_contas_categoria ); -- Inserindo subcontas (nível 2) para Despesas com Pessoal INSERT INTO plano_de_contas (plano_de_contas_codigo, plano_de_contas_nome, plano_de_contas_descricao, plano_de_contas_tipo, plano_de_contas_categoria, plano_de_contas_nivel, pai_id) SELECT * FROM (VALUES ('', 'Salários e Ordenados', 'Salários pagos a funcionários do escritório', 'Despesa', 'Despesas com Pessoal', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Despesas com Pessoal' AND plano_de_contas_categoria = 'Despesas' LIMIT 1)), ('', 'Encargos Sociais', 'Contribuições e impostos sobre a folha de pagamento', 'Despesa', 'Despesas com Pessoal', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Despesas com Pessoal' AND plano_de_contas_categoria = 'Despesas' LIMIT 1)), ('', 'Benefícios', 'Despesas com benefícios para funcionários (vale-transporte, alimentação, etc.)', 'Despesa', 'Despesas com Pessoal', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Despesas com Pessoal' AND plano_de_contas_categoria = 'Despesas' LIMIT 1)), ('', 'Férias e 13º Salário', 'Provisões para férias e 13º salário dos funcionários', 'Despesa', 'Despesas com Pessoal', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Despesas com Pessoal' AND plano_de_contas_categoria = 'Despesas' LIMIT 1)), ('', 'Treinamentos e Capacitação', 'Investimentos em treinamentos e cursos para colaboradores', 'Despesa', 'Despesas com Pessoal', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Despesas com Pessoal' AND plano_de_contas_categoria = 'Despesas' LIMIT 1)), ('', 'Recrutamento e Seleção', 'Despesas com processos seletivos e contratação de funcionários', 'Despesa', 'Despesas com Pessoal', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Despesas com Pessoal' AND plano_de_contas_categoria = 'Despesas' LIMIT 1)) ) AS new_entries (plano_de_contas_codigo, plano_de_contas_nome, plano_de_contas_descricao, plano_de_contas_tipo, plano_de_contas_categoria, plano_de_contas_nivel, pai_id) WHERE NOT EXISTS ( SELECT 1 FROM plano_de_contas WHERE plano_de_contas.plano_de_contas_nome = new_entries.plano_de_contas_nome AND plano_de_contas.plano_de_contas_categoria = new_entries.plano_de_contas_categoria ); -- Inserindo subcontas (nível 2) para Despesas Operacionais INSERT INTO plano_de_contas (plano_de_contas_codigo, plano_de_contas_nome, plano_de_contas_descricao, plano_de_contas_tipo, plano_de_contas_categoria, plano_de_contas_nivel, pai_id) SELECT * FROM (VALUES ('', 'Aluguel do Escritório', 'Despesas com aluguel do espaço físico do escritório', 'Despesa', 'Despesas Operacionais', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Despesas Operacionais' AND plano_de_contas_categoria = 'Despesas' LIMIT 1)), ('', 'Água e Energia', 'Despesas com consumo de água e energia elétrica', 'Despesa', 'Despesas Operacionais', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Despesas Operacionais' AND plano_de_contas_categoria = 'Despesas' LIMIT 1)), ('', 'Telefone e Internet', 'Despesas com telefonia e serviços de internet', 'Despesa', 'Despesas Operacionais', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Despesas Operacionais' AND plano_de_contas_categoria = 'Despesas' LIMIT 1)), ('', 'Material de Escritório', 'Despesas com materiais de escritório e suprimentos', 'Despesa', 'Despesas Operacionais', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Despesas Operacionais' AND plano_de_contas_categoria = 'Despesas' LIMIT 1)), ('', 'Equipamentos de Informática', 'Despesas com compra e manutenção de equipamentos de informática', 'Despesa', 'Despesas Operacionais', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Despesas Operacionais' AND plano_de_contas_categoria = 'Despesas' LIMIT 1)), ('', 'Software e Licenças', 'Despesas com aquisição e manutenção de softwares e licenças', 'Despesa', 'Despesas Operacionais', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Despesas Operacionais' AND plano_de_contas_categoria = 'Despesas' LIMIT 1)), ('', 'Seguros', 'Despesas com seguros do escritório e de seus equipamentos', 'Despesa', 'Despesas Operacionais', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Despesas Operacionais' AND plano_de_contas_categoria = 'Despesas' LIMIT 1)), ('', 'Despesas com Limpeza', 'Despesas com serviços de limpeza do escritório', 'Despesa', 'Despesas Operacionais', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Despesas Operacionais' AND plano_de_contas_categoria = 'Despesas' LIMIT 1)) ) AS new_entries (plano_de_contas_codigo, plano_de_contas_nome, plano_de_contas_descricao, plano_de_contas_tipo, plano_de_contas_categoria, plano_de_contas_nivel, pai_id) WHERE NOT EXISTS ( SELECT 1 FROM plano_de_contas WHERE plano_de_contas.plano_de_contas_nome = new_entries.plano_de_contas_nome AND plano_de_contas.plano_de_contas_categoria = new_entries.plano_de_contas_categoria ); -- Inserindo subcontas (nível 2) para Marketing e Publicidade INSERT INTO plano_de_contas (plano_de_contas_codigo, plano_de_contas_nome, plano_de_contas_descricao, plano_de_contas_tipo, plano_de_contas_categoria, plano_de_contas_nivel, pai_id) SELECT * FROM (VALUES ('', 'Publicidade Online', 'Despesas com anúncios e campanhas online (Google Ads, Facebook, etc.)', 'Despesa', 'Marketing e Publicidade', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Marketing e Publicidade' AND plano_de_contas_categoria = 'Despesas' LIMIT 1)), ('', 'Publicidade Offline', 'Despesas com anúncios e campanhas offline (jornais, revistas, outdoors)', 'Despesa', 'Marketing e Publicidade', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Marketing e Publicidade' AND plano_de_contas_categoria = 'Despesas' LIMIT 1)), ('', 'Promoções e Descontos', 'Despesas com promoções e descontos oferecidos aos clientes', 'Despesa', 'Marketing e Publicidade', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Marketing e Publicidade' AND plano_de_contas_categoria = 'Despesas' LIMIT 1)), ('', 'Material Promocional', 'Despesas com materiais promocionais (panfletos, folders, etc.)', 'Despesa', 'Marketing e Publicidade', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Marketing e Publicidade' AND plano_de_contas_categoria = 'Despesas' LIMIT 1)), ('', 'Eventos e Networking', 'Despesas com participação em eventos e networking', 'Despesa', 'Marketing e Publicidade', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Marketing e Publicidade' AND plano_de_contas_categoria = 'Despesas' LIMIT 1)) ) AS new_entries (plano_de_contas_codigo, plano_de_contas_nome, plano_de_contas_descricao, plano_de_contas_tipo, plano_de_contas_categoria, plano_de_contas_nivel, pai_id) WHERE NOT EXISTS ( SELECT 1 FROM plano_de_contas WHERE plano_de_contas.plano_de_contas_nome = new_entries.plano_de_contas_nome AND plano_de_contas.plano_de_contas_categoria = new_entries.plano_de_contas_categoria ); -- Inserindo subcontas (nível 2) para Impostos e Taxas INSERT INTO plano_de_contas (plano_de_contas_codigo, plano_de_contas_nome, plano_de_contas_descricao, plano_de_contas_tipo, plano_de_contas_categoria, plano_de_contas_nivel, pai_id) SELECT * FROM (VALUES ('', 'ISS (Imposto Sobre Serviços)', 'Imposto municipal sobre os serviços prestados', 'Despesa', 'Impostos e Taxas', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Impostos e Taxas' AND plano_de_contas_categoria = 'Despesas' LIMIT 1)), ('', 'IR (Imposto de Renda)', 'Imposto de renda devido ao governo', 'Despesa', 'Impostos e Taxas', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Impostos e Taxas' AND plano_de_contas_categoria = 'Despesas' LIMIT 1)), ('', 'Taxa de Licenciamento e Registro', 'Despesas com taxas de licenciamento e registro de atividades', 'Despesa', 'Impostos e Taxas', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Impostos e Taxas' AND plano_de_contas_categoria = 'Despesas' LIMIT 1)), ('', 'Contribuições Federais', 'Outras contribuições e taxas federais a pagar', 'Despesa', 'Impostos e Taxas', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Impostos e Taxas' AND plano_de_contas_categoria = 'Despesas' LIMIT 1)) ) AS new_entries (plano_de_contas_codigo, plano_de_contas_nome, plano_de_contas_descricao, plano_de_contas_tipo, plano_de_contas_categoria, plano_de_contas_nivel, pai_id) WHERE NOT EXISTS ( SELECT 1 FROM plano_de_contas WHERE plano_de_contas.plano_de_contas_nome = new_entries.plano_de_contas_nome AND plano_de_contas.plano_de_contas_categoria = new_entries.plano_de_contas_categoria ); -- Inserindo subcontas (nível 2) para Serviços de Terceiros INSERT INTO plano_de_contas (plano_de_contas_codigo, plano_de_contas_nome, plano_de_contas_descricao, plano_de_contas_tipo, plano_de_contas_categoria, plano_de_contas_nivel, pai_id) SELECT * FROM (VALUES ('', 'Consultoria Contábil', 'Despesas com serviços contábeis contratados', 'Despesa', 'Serviços de Terceiros', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Serviços de Terceiros' AND plano_de_contas_categoria = 'Despesas' LIMIT 1)), ('', 'Consultoria Jurídica Externa', 'Despesas com consultoria jurídica contratada externamente', 'Despesa', 'Serviços de Terceiros', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Serviços de Terceiros' AND plano_de_contas_categoria = 'Despesas' LIMIT 1)), ('', 'Serviços de Limpeza', 'Despesas com serviços de limpeza externos', 'Despesa', 'Serviços de Terceiros', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Serviços de Terceiros' AND plano_de_contas_categoria = 'Despesas' LIMIT 1)), ('', 'Tecnologia e Suporte de TI', 'Despesas com suporte técnico e manutenção de tecnologia', 'Despesa', 'Serviços de Terceiros', 2, (SELECT codigo::integer FROM plano_de_contas WHERE plano_de_contas_nome = 'Serviços de Terceiros' AND plano_de_contas_categoria = 'Despesas' LIMIT 1)) ) AS new_entries (plano_de_contas_codigo, plano_de_contas_nome, plano_de_contas_descricao, plano_de_contas_tipo, plano_de_contas_categoria, plano_de_contas_nivel, pai_id) WHERE NOT EXISTS ( SELECT 1 FROM plano_de_contas WHERE plano_de_contas.plano_de_contas_nome = new_entries.plano_de_contas_nome AND plano_de_contas.plano_de_contas_categoria = new_entries.plano_de_contas_categoria ); */ CREATE TABLE IF NOT EXISTS caixa_movimentacoes ( codigo serial NOT NULL, caixa_movimentacao_codigo character varying COLLATE pg_catalog."default", business_id character varying NOT NULL, pagador_codigo character varying COLLATE pg_catalog."default", pagador_nome_completo character varying COLLATE pg_catalog."default", pagador_documento character varying COLLATE pg_catalog."default", plano_de_contas_codigo character varying COLLATE pg_catalog."default", plano_de_contas_nome character varying COLLATE pg_catalog."default", boleto_codigo character varying COLLATE pg_catalog."default", cobranca_codigo character varying COLLATE pg_catalog."default", conta_bancaria_id character varying COLLATE pg_catalog."default", descricao character varying COLLATE pg_catalog."default", valor numeric, estornado boolean NOT NULL DEFAULT false, motivo_estorno character varying COLLATE pg_catalog."default", data_estorno timestamp with time zone, saldo_anterior numeric, saldo_atual numeric, created_at timestamp with time zone NOT NULL DEFAULT now(), usuario_codigo_criou character varying COLLATE pg_catalog."default", usuario_codigo_estornou character varying COLLATE pg_catalog."default", usuario_codigo_alterou character varying COLLATE pg_catalog."default", data_ultima_alteracao timestamp with time zone, CONSTRAINT caixa_movimentacoes_pkey PRIMARY KEY (codigo) ); CREATE TABLE IF NOT EXISTS caixa_movimentacoes_eventos ( codigo serial NOT NULL, business_id character varying NOT NULL, caixa_movimentacao_codigo character varying NOT NULL, conta_bancaria_id character varying NOT NULL, evento_descricao character varying NOT NULL, evento_momento character varying NOT NULL, CONSTRAINT caixa_movimentacoes_eventos_pkey PRIMARY KEY (codigo) ); CREATE TABLE IF NOT EXISTS emails ( codigo serial NOT NULL, email_codigo_track character varying, business_id character varying, destinatario_nome character varying, destinatario_email character varying, email_assunto character varying, email_mensagem text, email_situacao character varying, momento character varying, PRIMARY KEY (codigo) ); CREATE TABLE IF NOT EXISTS atendimentos ( codigo serial NOT NULL, business_id character varying NOT NULL, cliente_id character varying NOT NULL, usuario_codigo_criou character varying COLLATE pg_catalog."default", atendimento_codigo character varying COLLATE pg_catalog."default", atendimento_etapa character varying COLLATE pg_catalog."default", atendimento_status character varying COLLATE pg_catalog."default", atendimento_descricao text COLLATE pg_catalog."default", atendimento_data_criacao character varying COLLATE pg_catalog."default", momento character varying, PRIMARY KEY (codigo) ); CREATE TABLE IF NOT EXISTS atendimentos_eventos ( codigo serial NOT NULL, business_id character varying NOT NULL, atendimento_codigo character varying NOT NULL, evento_descricao character varying NOT NULL, momento character varying, PRIMARY KEY (codigo) ); CREATE TABLE IF NOT EXISTS requests ( codigo serial NOT NULL, business_id character varying, usuario_id character varying, comando character varying, comando_payload character varying, request_codigo character varying, momento character varying, jwt character varying, total_eventos integer, PRIMARY KEY (codigo) ); CREATE TABLE IF NOT EXISTS requests_eventos ( codigo serial, request_codigo character varying, business_id character varying, evento_momento character varying, evento_descricao character varying, PRIMARY KEY (codigo) ); CREATE TABLE IF NOT EXISTS agenda_eventos ( codigo serial NOT NULL, evento_codigo character varying, evento_plataforma_id character varying, titulo character varying, descricao character varying, dia_todo boolean, recorrencia integer, horario_inicio timestamp with time zone, horario_fim timestamp with time zone, momento timestamp with time zone, usuario_id character varying, business_id character varying, status character varying, PRIMARY KEY (codigo) ); CREATE TABLE IF NOT EXISTS pessoas ( codigo serial NOT NULL, business_id character varying NOT NULL, pessoa_codigo character varying NOT NULL, pessoa_nome character varying NOT NULL, pessoa_documento character varying NOT NULL, pessoa_data_nascimento character varying, pessoa_tipo character varying, pessoa_email character varying, pessoa_telefone character varying, pessoa_whatsapp character varying, pessoa_endereco character varying, pessoa_endereco_numero character varying, pessoa_endereco_complemento character varying, pessoa_endereco_bairro character varying, pessoa_endereco_cidade character varying, pessoa_endereco_estado character varying, pessoa_endereco_cep character varying, pessoa_nome_da_mae character varying, pessoa_cpf_da_mae character varying, pessoa_sexo character varying, pessoa_familiares character varying, pessoa_nome_pai character varying, pessoa_cpf_pai character varying, pessoa_e_cliente boolean NOT NULL DEFAULT false, pessoa_rg character varying, pessoa_pis character varying, pessoa_carteira_trabalho character varying, pessoa_telefones character varying, pessoa_emails character varying, pessoa_enderecos character varying, PRIMARY KEY (codigo) ); CREATE TABLE IF NOT EXISTS pessoas_eventos ( codigo serial NOT NULL, business_id character varying NOT NULL, pessoa_codigo character varying NOT NULL, evento_descricao character varying NOT NULL, evento_momento character varying NOT NULL, PRIMARY KEY (codigo) ); CREATE TABLE IF NOT EXISTS modelos_documentos ( codigo serial NOT NULL, business_id character varying NOT NULL, modelo_codigo character varying NOT NULL, modelo_nome character varying NOT NULL, modelo_momento character varying NOT NULL, modelo_nome_arquivo character varying NOT NULL, modelo_deleted boolean NOT NULL DEFAULT false, PRIMARY KEY (codigo) ); CREATE TABLE IF NOT EXISTS modelos_documentos_eventos ( codigo serial NOT NULL, business_id character varying NOT NULL, modelo_codigo character varying NOT NULL, evento_modelo_descricao character varying NOT NULL, evento_modelo_momento character varying NOT NULL, PRIMARY KEY (codigo) ); CREATE TABLE IF NOT EXISTS processos ( codigo serial NOT NULL, business_id character varying, processo_codigo character varying, processo_numero_cnj character varying, processo_data_ultima_movimentacao character varying, processo_quantidade_movimentacoes character varying, processo_demandante character varying, processo_demandado character varying, processo_ultima_movimentacao_descricao character varying, processo_ultima_movimentacao_data character varying, oab_consultada character varying, PRIMARY KEY (codigo) ); CREATE TABLE IF NOT EXISTS processos_movimentacoes ( codigo serial NOT NULL, business_id character varying, movimentacao_codigo character varying, movimentacao_id_plataforma character varying, movimentacao_data character varying, movimentacao_tipo character varying, movimentacao_tipo_publicacao character varying, movimentacao_classificacao_predita_nome character varying, movimentacao_classificacao_predita_descricao character varying, movimentacao_classificacao_predita_hierarquia character varying, movimentacao_conteudo character varying, movimentacao_texto_categoria character varying, movimentacao_fonte_processo_fonte_id character varying, movimentacao_fonte_fonte_id character varying, movimentacao_fonte_nome character varying, movimentacao_fonte_tipo character varying, movimentacao_fonte_sigla character varying, movimentacao_fonte_grau character varying, movimentacao_fonte_grau_formatado character varying, processo_codigo character varying, PRIMARY KEY (codigo) ); CREATE TABLE IF NOT EXISTS processos_consultados_por_oab ( codigo serial NOT NULL, consulta_oab_codigo character varying, business_id character varying, usuario_id character varying, oab_consultada character varying, momento timestamp with time zone, mensagem character varying, payload_request character varying, payload_response character varying, request_status character varying, PRIMARY KEY (codigo) ); CREATE TABLE IF NOT EXISTS processos_consultados_por_oab_eventos ( codigo serial NOT NULL, business_id character varying, consulta_oab_codigo character varying, evento_descricao character varying, evento_momento character varying, PRIMARY KEY (codigo) ); CREATE TABLE IF NOT EXISTS processos_fontes ( codigo serial NOT NULL, business_id character varying, processo_codigo character varying, fonte_codigo character varying, fonte_nome character varying, fonte_descricao character varying, fonte_link character varying, fonte_tipo character varying, fonte_data_ultima_verificacao character varying, fonte_data_ultima_movimentacao character varying, fonte_segredo_justica boolean, fonte_arquivado boolean, fonte_fisico boolean, fonte_sistema character varying, fonte_quantidade_envolvidos integer, fonte_quantidade_movimentacoes integer, fonte_grau integer, fonte_capa_classe character varying, fonte_capa_assunto character varying, fonte_capa_area character varying, fonte_capa_orgao_julgador character varying, fonte_capa_valor_causa character varying, fonte_capa_valor_moeda character varying, fonte_capa_data_distribuicao character varying, fonte_tribunal_id character varying, fonte_tribunal_nome character varying, fonte_tribunal_sigla character varying, fonte_informacoes_complementares character varying, PRIMARY KEY (codigo) ); CREATE TABLE IF NOT EXISTS processos_envolvidos ( codigo serial NOT NULL, business_id character varying, processo_codigo character varying, fonte_codigo character varying, envolvido_codigo character varying, envolvido_tipo character varying, envolvido_nome character varying, envolvido_documento character varying, envolvido_oab character varying, envolvido_tipo_pessoa character varying, envolviodo_quantidade_processos integer, pessoa_codigo character varying, PRIMARY KEY (codigo) ); CREATE TABLE IF NOT EXISTS processos_usuarios_responsaveis ( codigo serial NOT NULL, business_id character varying, processo_codigo character varying, usuario_id character varying, PRIMARY KEY (codigo) ); CREATE TABLE IF NOT EXISTS consultas_informacoes_documento ( codigo serial NOT NULL, business_id character varying, usuario_id character varying, documento_consultado character varying, momento timestamp with time zone, mensagem character varying, payload_request character varying, payload_response character varying, request_status character varying, PRIMARY KEY (codigo) ); CREATE TABLE IF NOT EXISTS recebimento_webhook ( codigo serial NOT NULL, webhook_event_id_plataforma character varying, webhook_header character varying, webhook_payload character varying, webhook_ip character varying, webhook_method character varying, webhook_uri character varying, webhook_momento timestamp with time zone, webhook_parceiro character varying, webhook_user_agent character varying, PRIMARY KEY (codigo) );