CREATE TABLE IF NOT EXISTS pessoa_fornecedores (id BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,pessoa_id BIGINT NOT NULL REFERENCES pessoas(id),empresa_id BIGINT NOT NULL REFERENCES empresas(id),grupo_pessoa_id BIGINT REFERENCES grupos_pessoa(id),prazo_entrega_dias INTEGER NOT NULL DEFAULT 0,valor_minimo_pedido NUMERIC(15,2) NOT NULL DEFAULT 0,tipo_frete VARCHAR(10) NOT NULL DEFAULT 'cif',indicador_ie VARCHAR(20) NOT NULL DEFAULT 'contribuinte',optante_simples BOOLEAN NOT NULL DEFAULT FALSE,produtor_rural BOOLEAN NOT NULL DEFAULT FALSE,bloqueado BOOLEAN NOT NULL DEFAULT FALSE,motivo_bloqueio VARCHAR(500),ativo BOOLEAN NOT NULL DEFAULT TRUE,criado_em TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,atualizado_em TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,excluido_em TIMESTAMP,UNIQUE(pessoa_id,empresa_id));
CREATE INDEX IF NOT EXISTS idx_pessoa_fornecedores_empresa ON pessoa_fornecedores(empresa_id,ativo);
CREATE TABLE IF NOT EXISTS pessoa_dados_bancarios (id BIGINT GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,pessoa_id BIGINT NOT NULL REFERENCES pessoas(id),banco_codigo VARCHAR(10),banco_nome VARCHAR(100),agencia VARCHAR(20),conta VARCHAR(30),tipo_conta VARCHAR(20),chave_pix VARCHAR(160),titular VARCHAR(160),documento_titular VARCHAR(14),principal BOOLEAN NOT NULL DEFAULT FALSE);
