SET DEFINE OFF;

UPDATE PAMOTORCREDITO SET eventoMotorCredito = 0 WHERE eventoMotorCredito IN (202,212);

COMMIT;

DELETE SIEVENTOSMOTORCREDITO WHERE eventoMotorCredito IN (202,212);

COMMIT;

UPDATE SIEVENTOSMOTORCREDITO SET descricao = 'Consultar SPC Batch - Normal' WHERE eventoMotorCredito = 200;
UPDATE SIEVENTOSMOTORCREDITO SET descricao = 'Consultar SPC Batch - Score' WHERE eventoMotorCredito = 201;
UPDATE SIEVENTOSMOTORCREDITO SET descricao = 'Consultar SPC Batch - Renda Presumida + Score' WHERE eventoMotorCredito = 203;
UPDATE SIEVENTOSMOTORCREDITO SET descricao = 'Consultar SPC Online - Normal' WHERE eventoMotorCredito = 210;
UPDATE SIEVENTOSMOTORCREDITO SET descricao = 'Consultar SPC Online - Score' WHERE eventoMotorCredito = 211;
UPDATE SIEVENTOSMOTORCREDITO SET descricao = 'Consultar SPC Online - Renda Presumida + Score' WHERE eventoMotorCredito = 213;

COMMIT;

INSERT INTO SISPCENTIDADEXMODELOSCONS (entidadeXModeloConsultaSPC, descricao, ativo, entidadeSPC, modeloConsultaSPC, observacoes) VALUES (1643, 'SPC BRASIL - 643 - Completo + Protestos', 1, 1, 643, ' ');
INSERT INTO SISPCENTIDADEXMODELOSCONS (entidadeXModeloConsultaSPC, descricao, ativo, entidadeSPC, modeloConsultaSPC, observacoes) VALUES (3001, 'BOA VISTA RS - SPCA - Consulta Família', 1, 3, 1, ' ');

COMMIT;

UPDATE SISPCENTIDADEXMODELOSCONS SET descricao = 'SPC BRASIL - 013 - Completo + Cheques' WHERE entidadeXModeloConsultaSPC = 1013;
UPDATE SISPCENTIDADEXMODELOSCONS SET descricao = 'FCDL SC - 065 - Plus Master Protesto'  WHERE entidadeXModeloConsultaSPC = 2065;

COMMIT;

UPDATE MOSPCCONSULTAS SET entidadeXModeloConsultaSPC = 1013 WHERE entidadeXModeloConsultaSPC = 1336;
UPDATE MOSPCCONSULTAS SET entidadeXModeloConsultaSPC = 2065 WHERE entidadeXModeloConsultaSPC = 2059;
UPDATE MOSPCCONSULTAS SET entidadeXModeloConsultaSPC = 2065 WHERE entidadeXModeloConsultaSPC = 2178;
UPDATE MOSPCCONSULTAS SET entidadeXModeloConsultaSPC = 3001 WHERE entidadeXModeloConsultaSPC = 3003;
UPDATE MOSPCCONSULTAS SET entidadeXModeloConsultaSPC = 3001 WHERE entidadeXModeloConsultaSPC = 3008;
UPDATE MOSPCCONSULTAS SET entidadeXModeloConsultaSPC = 3001 WHERE entidadeXModeloConsultaSPC = 3999;

COMMIT;

DELETE SISPCENTIDADEXMODELOSCONS WHERE entidadeXModeloConsultaSPC IN (1336, 2059, 2178, 3003, 3008, 3999);

COMMIT;

CREATE TABLE MOSPCCONSULTAS_2202 AS SELECT * FROM MOSPCCONSULTAS;

ALTER TABLE MOSPCCONSULTADETALHE DROP CONSTRAINT MOSPCCONSULTADETALHE_FK1;
ALTER TABLE MOHISTORICOCREDITO   DROP CONSTRAINT MOHISTORICOCREDITO_FK3;

DROP TABLE MOSPCCONSULTAS;

-- MOSPCCONSULTAS
CREATE TABLE MOSPCCONSULTAS
  (
    idConsultaSPC              NUMERIC (14,0) DEFAULT 0 NOT NULL,
    cnpjCpfIdEstrangeiro       VARCHAR (20) DEFAULT ' ' NOT NULL,
    data                       DATE,
    usuario                    NUMERIC (14,0) DEFAULT 0 NOT NULL,
    estabelecimento            NUMERIC (4,0) DEFAULT 0 NOT NULL,
    tipoConsultaSPC            NUMERIC (3,0) DEFAULT 0 NOT NULL,
    entidadeXModeloConsultaSPC NUMERIC (6,0) DEFAULT 0 NOT NULL,
    protocoloSPC               VARCHAR (60) DEFAULT ' ' NOT NULL,
    dataUltimoRegistroSPC      DATE,
    quantidadeRegistrosSPC     NUMERIC (14,0) DEFAULT 0 NOT NULL,
    dataUltimoRegistroCheque   DATE,
    quantidadeRegistrosCheque  NUMERIC (14,0) DEFAULT 0 NOT NULL,
    dataUltimaPassagem         DATE,
    quantidadePassagens        NUMERIC (14,0) DEFAULT 0 NOT NULL,
    dataUltimoAlerta           DATE,
    quantidadeAlertas          NUMERIC (14,0) DEFAULT 0 NOT NULL,
    credscoreNota              NUMERIC (15,8) DEFAULT 0 NOT NULL,
    valorRendaPresumida        NUMERIC (15,2) DEFAULT 0 NOT NULL,
    estaNoSpc                  NUMERIC (1,0) DEFAULT 0 NOT NULL,
    observacoes                VARCHAR (4000) DEFAULT ' ' NOT NULL
  );
ALTER TABLE MOSPCCONSULTAS ADD CONSTRAINT MOSPCCONSULTAS_PK1 PRIMARY KEY (idConsultaSPC);
CREATE INDEX MOSPCCONSULTAS_K2 ON MOSPCCONSULTAS (cnpjCpfIdEstrangeiro, data DESC);
ALTER TABLE MOSPCCONSULTAS ADD CONSTRAINT MOSPCCONSULTAS_FK1 FOREIGN KEY (usuario) REFERENCES CAUSUARIOS (usuario);
ALTER TABLE MOSPCCONSULTAS ADD CONSTRAINT MOSPCCONSULTAS_FK2 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE MOSPCCONSULTAS ADD CONSTRAINT MOSPCCONSULTAS_FK3 FOREIGN KEY (tipoConsultaSPC) REFERENCES SITIPOSCONSULTASPC (tipoConsultaSPC);
ALTER TABLE MOSPCCONSULTAS ADD CONSTRAINT MOSPCCONSULTAS_FK4 FOREIGN KEY (entidadeXModeloConsultaSPC) REFERENCES SISPCENTIDADEXMODELOSCONS (entidadeXModeloConsultaSPC);

INSERT INTO MOSPCCONSULTAS (idConsultaSPC, cnpjCpfIdEstrangeiro, data, usuario, estabelecimento, tipoConsultaSPC, entidadeXModeloConsultaSPC, protocoloSPC, dataUltimoRegistroSPC, quantidadeRegistrosSPC, dataUltimoRegistroCheque, quantidadeRegistrosCheque, dataUltimaPassagem, quantidadePassagens, dataUltimoAlerta, quantidadeAlertas, credscoreNota, valorRendaPresumida, estaNoSpc, observacoes) VALUES (0, ' ', NULL, 0, 0, 0, 0, ' ', NULL, 0, NULL, 0, NULL, 0, NULL, 0, 0, 0, 0, ' ');
INSERT INTO MOSPCCONSULTAS (idConsultaSPC, cnpjCpfIdEstrangeiro, data, usuario, estabelecimento, tipoConsultaSPC, entidadeXModeloConsultaSPC, protocoloSPC, dataUltimoRegistroSPC, quantidadeRegistrosSPC, dataUltimoRegistroCheque, quantidadeRegistrosCheque, dataUltimaPassagem, quantidadePassagens, dataUltimoAlerta, quantidadeAlertas, credscoreNota, valorRendaPresumida, estaNoSpc, observacoes) SELECT idConsultaSPC, cnpjCpfIdEstrangeiro, data, usuario, estabelecimento, 0, entidadeXModeloConsultaSPC, protocoloSPC, dataUltimoRegistroSPC, quantidadeRegistrosSPC, dataUltimoRegistroCheque, quantidadeRegistrosCheque, dataUltimaPassagem, quantidadePassagens, dataUltimoAlerta, quantidadeAlertas, credscoreNota, valorRendaPresumida, estaNoSpc, observacoes FROM MOSPCCONSULTAS_2202 WHERE idConsultaSPC > 0;

COMMIT;

ALTER TABLE MOSPCCONSULTADETALHE ADD CONSTRAINT MOSPCCONSULTADETALHE_FK1 FOREIGN KEY (idConsultaSPC) REFERENCES MOSPCCONSULTAS (idConsultaSPC);
ALTER TABLE MOHISTORICOCREDITO ADD CONSTRAINT MOHISTORICOCREDITO_FK3 FOREIGN KEY (idConsultaSPC) REFERENCES MOSPCCONSULTAS (idConsultaSPC);

UPDATE SITIPOSCONSULTASPC SET descricao = 'Normal' WHERE tipoConsultaSPC = 2;
UPDATE SITIPOSCONSULTASPC SET descricao = 'Score'  WHERE tipoConsultaSPC = 3;

COMMIT;

INSERT INTO SITIPOSCONSULTASPC (tipoConsultaSPC, descricao, ativo, observacoes) VALUES (4, 'Renda Presumida + Score', 1, ' ');

COMMIT;

CREATE TABLE PAMOTORCREDITO_2202 AS SELECT * FROM PAMOTORCREDITO;

ALTER TABLE PAMOTORCREDITOXREGRAS DROP CONSTRAINT PAMOTORCREDITOXREGRAS_FK1;

DROP TABLE PAMOTORCREDITO;

-- PAMOTORCREDITO
CREATE TABLE PAMOTORCREDITO
  (
    idMotorCredito             NUMERIC (14,0) DEFAULT 0 NOT NULL,
    descricao                  VARCHAR (120) DEFAULT ' ' NOT NULL,
    ativo                      NUMERIC (1,0) DEFAULT 0 NOT NULL,
    idMotorCreditoPai          NUMERIC (14,0) DEFAULT 0 NOT NULL,
    ordenacao                  NUMERIC (11,0) DEFAULT 0 NOT NULL,
    estabelecimento            NUMERIC (4,0) DEFAULT 0 NOT NULL,
    perfilUsuario              NUMERIC (6,0) DEFAULT 0 NOT NULL,
    usuario                    NUMERIC (14,0) DEFAULT 0 NOT NULL,
    dataValidadeInicial        DATE,
    dataValidadeFinal          DATE,
    icone                      VARCHAR2(256) NOT NULL,
    eventoMotorCredito         NUMERIC (3,0) DEFAULT 0 NOT NULL,
    entidadeXModeloConsultaSPC NUMERIC (6,0) DEFAULT 0 NOT NULL,
    assuntoProcedure           VARCHAR (256) DEFAULT ' ' NOT NULL,
    corpoParametros            VARCHAR (4000) DEFAULT ' ' NOT NULL,
    idMotorCreditoDesvio       NUMERIC (14,0) DEFAULT 0 NOT NULL,
    encerrarProcessamentoNivel NUMERIC (1,0) DEFAULT 0 NOT NULL,
    observacoes                VARCHAR (4000) DEFAULT ' ' NOT NULL
  );
ALTER TABLE PAMOTORCREDITO ADD CONSTRAINT PAMOTORCREDITO_PK1 PRIMARY KEY (idMotorCredito);
CREATE INDEX PAMOTORCREDITO_K2 ON PAMOTORCREDITO (descricao);
CREATE INDEX PAMOTORCREDITO_K3 ON PAMOTORCREDITO (idMotorCreditoPai, ordenacao, idMotorCredito);
ALTER TABLE PAMOTORCREDITO ADD CONSTRAINT PAMOTORCREDITO_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PAMOTORCREDITO ADD CONSTRAINT PAMOTORCREDITO_FK2 FOREIGN KEY (perfilUsuario) REFERENCES PAPERFISUSUARIO (perfilUsuario);
ALTER TABLE PAMOTORCREDITO ADD CONSTRAINT PAMOTORCREDITO_FK3 FOREIGN KEY (usuario) REFERENCES CAUSUARIOS (usuario);
ALTER TABLE PAMOTORCREDITO ADD CONSTRAINT PAMOTORCREDITO_FK4 FOREIGN KEY (eventoMotorCredito) REFERENCES SIEVENTOSMOTORCREDITO (eventoMotorCredito);
ALTER TABLE PAMOTORCREDITO ADD CONSTRAINT PAMOTORCREDITO_FK5 FOREIGN KEY (entidadeXModeloConsultaSPC) REFERENCES SISPCENTIDADEXMODELOSCONS (entidadeXModeloConsultaSPC);

INSERT INTO PAMOTORCREDITO (idMotorCredito, descricao, ativo, idMotorCreditoPai, ordenacao, estabelecimento, perfilUsuario, usuario, dataValidadeInicial, dataValidadeFinal, icone, eventoMotorCredito, entidadeXModeloConsultaSPC, assuntoProcedure, corpoParametros, idMotorCreditoDesvio, observacoes) VALUES (0, 'SELECIONE', 1, 0, 0, 0, 0, 0, NULL, NULL, ' ', 0, 0, ' ', ' ', 0, ' ');
INSERT INTO PAMOTORCREDITO (idMotorCredito, descricao, ativo, idMotorCreditoPai, ordenacao, estabelecimento, perfilUsuario, usuario, dataValidadeInicial, dataValidadeFinal, icone, eventoMotorCredito, entidadeXModeloConsultaSPC, assuntoProcedure, corpoParametros, idMotorCreditoDesvio, observacoes) VALUES (99999999999999, 'Motor de Crédito', 1, 0, 1, 0, 0, 0, TO_DATE('01/01/1900','DD/MM/YYYY'), TO_DATE('31/12/2500','DD/MM/YYYY'), '%SYS_DIR%Versoes\%SYS_VER%\Icones\adderi.ico', 1, 0, ' ', ' ', 0, ' ');
INSERT INTO PAMOTORCREDITO (idMotorCredito, descricao, ativo, idMotorCreditoPai, ordenacao, estabelecimento, perfilUsuario, usuario, dataValidadeInicial, dataValidadeFinal, icone, eventoMotorCredito, entidadeXModeloConsultaSPC, assuntoProcedure, corpoParametros, idMotorCreditoDesvio, observacoes) VALUES (99999999999990, 'Botão Consultar CPF', 1, 0, 2, 0, 0, 0, TO_DATE('01/01/1900','DD/MM/YYYY'), TO_DATE('31/12/2500','DD/MM/YYYY'), '%SYS_DIR%Versoes\%SYS_VER%\Icones\adderi.ico', 1, 0, ' ', ' ', 0, ' ');
INSERT INTO PAMOTORCREDITO (idMotorCredito, descricao, ativo, idMotorCreditoPai, ordenacao, estabelecimento, perfilUsuario, usuario, dataValidadeInicial, dataValidadeFinal, icone, eventoMotorCredito, entidadeXModeloConsultaSPC, assuntoProcedure, corpoParametros, idMotorCreditoDesvio, observacoes) SELECT idMotorCredito, descricao, ativo, idMotorCreditoPai, ordenacao, estabelecimento, perfilUsuario, usuario, dataValidadeInicial, dataValidadeFinal, icone, eventoMotorCredito, 0, assuntoProcedure, corpoParametros, idMotorCreditoDesvio, observacoes FROM PAMOTORCREDITO_2202 WHERE NOT(idMotorCredito IN (0, 99999999999990, 99999999999999));

COMMIT;

ALTER TABLE PAMOTORCREDITOXREGRAS ADD CONSTRAINT PAMOTORCREDITOXREGRAS_FK1 FOREIGN KEY (idMotorCredito) REFERENCES PAMOTORCREDITO (idMotorCredito);

-- PASPCCONEXOES
CREATE TABLE PASPCCONEXOES
  (
    id              NUMERIC (14,0) DEFAULT 0 NOT NULL,
    estabelecimento NUMERIC (4,0) DEFAULT 0 NOT NULL,
    entidadeSPC     NUMERIC (3,0) DEFAULT 0 NOT NULL,
    ativo           NUMERIC (1,0) DEFAULT 0 NOT NULL,
    codigoCDL       VARCHAR (256) DEFAULT ' ' NOT NULL,
    codigoAssociado VARCHAR (256) DEFAULT ' ' NOT NULL,
    codigoFilial    VARCHAR (256) DEFAULT ' ' NOT NULL,
    senha           VARCHAR (256) DEFAULT ' ' NOT NULL,
    observacoes     VARCHAR (4000) DEFAULT ' ' NOT NULL
  );
CREATE UNIQUE INDEX PASPCCONEXOES_PK1 ON PASPCCONEXOES (id);
CREATE UNIQUE INDEX PASPCCONEXOES_K2 ON PASPCCONEXOES (estabelecimento, entidadeSPC);
ALTER TABLE PASPCCONEXOES ADD CONSTRAINT PASPCCONEXOES_FK1 FOREIGN KEY (estabelecimento) REFERENCES PAESTABELECIMENTOS (estabelecimento);
ALTER TABLE PASPCCONEXOES ADD CONSTRAINT PASPCCONEXOES_FK2 FOREIGN KEY (entidadeSPC) REFERENCES SISPCENTIDADES (entidadeSPC);

INSERT INTO PASPCCONEXOES (id, estabelecimento, entidadeSPC, ativo, codigoCDL, codigoAssociado, codigoFilial, senha, observacoes) VALUES (0, 0, 0, 1, ' ', ' ', ' ', ' ', ' ');

COMMIT;

INSERT INTO SITABELASSISTEMA (tabelaSistema, descricao, ativo, ordenacao, tipoTabela, nomeCampoCodigo, tipoCampoCodigo, numeroDigitosCodigo, nomeCampoDescricao, adicionarCodigoNaDescricao, nomeCampoIdSeDiferenteCodigo, numeroDigitosCampoId, categoriaTabelaSistema, aplicacaoZoom, nomePublicoZoom, versaoTabela, versaoDados, observacoes) values ('PASPCCONEXOES', 'SPC Conexões', 1, 31443, 'PA', 'id', 'N', 14, ' ', 1, ' ', 0, 100001, '%SYS_DIR%Versoes\%SYS_VER%\Framework.ecf', 'PesqSPCConexoes', 1, 1, ' '); 

COMMIT;

INSERT INTO SIMENUS (menu, descricao, ativo, ordenacao, tipoMenu, categoriaMenu, menuPrincipal, aplicacao, nomePublico, categoriaConfiguracao, categoriaPersonalCampo, categoriaMemoriaSistema, permiteReport, observacoes) values (835, 'SPC Conexões', 1, 90001713, 'PA', 100001, 835, '%SYS_DIR%Versoes\%SYS_VER%\Framework.ecf', 'PesqSPCConexoes', 0, 0, 0, 0, ' ');

COMMIT;

INSERT INTO PASPCCONEXOES (id, estabelecimento, entidadeSPC, ativo, codigoCDL, codigoAssociado, codigoFilial, senha, observacoes)
SELECT
  FUNC_ADD_BUSCA_PROXIMO_ID('PASPCCONEXOES', 'id', 14, 1, NULL) id,
  a.estabelecimento,
  COALESCE(FUNC_ADD_BUSCA_CONFIG (189, 0, 0, a.estabelecimento),' ') entidadeSPC,
  1 ativo, 
  COALESCE(FUNC_ADD_BUSCA_CONFIG (190, 0, 0, a.estabelecimento),' ') codigoCDL, 
  COALESCE(FUNC_ADD_BUSCA_CONFIG (191, 0, 0, a.estabelecimento),' ') codigoAssociado, 
  COALESCE(FUNC_ADD_BUSCA_CONFIG (346, 0, 0, a.estabelecimento),' ') codigoFilial, 
  COALESCE(FUNC_ADD_BUSCA_CONFIG (192, 0, 0, a.estabelecimento),' ') senha, 
  ' ' observacoes
FROM PAESTABELECIMENTOS a
WHERE a.estabelecimento <> 0
AND COALESCE(FUNC_ADD_BUSCA_CONFIG (189, 0, 0, a.estabelecimento),' ') IN ('1','2','3')
AND COALESCE(FUNC_ADD_BUSCA_CONFIG (191, 0, 0, a.estabelecimento),' ') <> ' '
AND COALESCE(FUNC_ADD_BUSCA_CONFIG (192, 0, 0, a.estabelecimento),' ') <> ' ';

COMMIT;

DELETE PACONFIGURACAOXCONTEUDOS  WHERE configuracao IN (189,190,191,192,346);
DELETE SIOPCOESCOMBOCONFIGURACAO WHERE configuracao IN (189,190,191,192,346);
DELETE SICONFIGURACOES           WHERE configuracao IN (189,190,191,192,346);

COMMIT;

UPDATE SISPCENTIDADES SET descricao = 'BOAVISTA CDL-POA' WHERE entidadeSPC = 3;

COMMIT;

INSERT INTO SIVERSOESSISTEMA (idVersaoSistema, versaoAplicativo, dataLiberacaoVersao, possuiConversaoTabelas, atualizada, dataAtualizacaoVersao, observacoes) VALUES (2022002006, '2022.2.6', sysdate, 1, 1, sysdate, ' ');

COMMIT;

--exec dbms_utility.compile_schema('ADDERI');
--exec dbms_stats.gather_schema_stats('ADDERI');

/*
*/