SET DEFINE OFF;

create or replace PROCEDURE ADD_TEMPPARCELAS_GRAVA (
    p_uniqueMachineID              IN VARCHAR2,
    p_contadorSessaoTempParcelas   IN NUMBER,
    p_origem                       IN CHAR,
    p_idCabecalho                  IN NUMBER,
    p_pagamentoTroco               IN CHAR,
    p_sequencia                    IN NUMBER,
    p_parcela                      IN NUMBER,
    p_prazoPadrao                  IN NUMBER,
    p_prazo                        IN NUMBER,
    p_vencimento                   IN DATE,
    p_baixaAutomatica              IN NUMBER,
    p_percentualRateioOriginal     IN NUMBER,
    p_valor                        IN NUMBER,
    p_complementoFinanceiro        IN VARCHAR,
    p_idPrevisaoFinanceira         IN NUMBER,
    p_idFinanceiro                 IN NUMBER,
    p_idTransacaoTef               IN NUMBER,
    p_chequeCompensacao            IN VARCHAR,
    p_chequeBanco                  IN VARCHAR,
    p_chequeAgenciaBanco           IN VARCHAR,
    p_chequeC1                     IN CHAR,
    p_chequeContaBanco             IN VARCHAR,
    p_chequeC2                     IN CHAR,
    p_cheque                       IN NUMBER,
    p_chequeC3                     IN CHAR,
    p_chequeBomPara                IN DATE,
    p_chequeIndicadorPessoa        IN CHAR,
    p_chequeTitular                IN VARCHAR,
    p_chequeIndicadorDocumentoPess IN CHAR,
    p_chequeCnpjCpfIdEstrangeiro   IN VARCHAR,
    p_chequeFone                   IN VARCHAR,
    p_chequeDesde                  IN DATE,
    p_chequeAutenticacao           IN VARCHAR,
    p_chequeIndicadorFone          IN NUMBER,
    p_chequeOperacaoTelefonia      IN NUMBER,
    p_chequeObservacaoFone         IN VARCHAR,
    p_boletoCodigoDigitavelBarras  IN VARCHAR2)
IS
BEGIN
  MERGE INTO TEMPPARCELAS a USING (
    SELECT
      p_uniqueMachineID              uniqueMachineID,
      p_contadorSessaoTempParcelas   contadorSessao,
      p_origem                       origem,
      p_idCabecalho                  idCabecalho,
      p_pagamentoTroco               pagamentoTroco,
      p_sequencia                    sequencia,
      p_parcela                      parcela,
      p_prazoPadrao                  prazoPadrao,
      p_prazo                        prazo,
      p_vencimento                   vencimento,
      p_baixaAutomatica              baixaAutomatica,
      p_percentualRateioOriginal     percentualRateioOriginal,
      p_valor                        valor,
      p_complementoFinanceiro        complementoFinanceiro,
      p_idPrevisaoFinanceira         idPrevisaoFinanceira,
      p_idFinanceiro                 idFinanceiro,
      p_idTransacaoTef               idTransacaoTef,
      p_chequeCompensacao            chequeCompensacao,
      p_chequeBanco                  chequeBanco,
      p_chequeAgenciaBanco           chequeAgenciaBanco,
      p_chequeC1                     chequeC1,
      p_chequeContaBanco             chequeContaBanco,
      p_chequeC2                     chequeC2,
      p_cheque                       cheque,
      p_chequeC3                     chequeC3,
      p_chequeBomPara                chequeBomPara,
      p_chequeIndicadorPessoa        chequeIndicadorPessoa,
      p_chequeTitular                chequeTitular,
      p_chequeIndicadorDocumentoPess chequeIndicadorDocumentoPessoa,
      p_chequeCnpjCpfIdEstrangeiro   chequeCnpjCpfIdEstrangeiro,
      p_chequeFone                   chequeFone,
      p_chequeDesde                  chequeDesde,
      p_chequeAutenticacao           chequeAutenticacao,
      p_chequeIndicadorFone          chequeIndicadorFone,
      p_chequeOperacaoTelefonia      chequeOperacaoTelefonia,
      p_chequeObservacaoFone         chequeObservacaoFone,
      p_boletoCodigoDigitavelBarras  boletoCodigoDigitavelBarras
    FROM DUAL) b
  ON (  a.uniqueMachineID  = b.uniqueMachineID
    AND a.contadorSessao   = b.contadorSessao
    AND a.origem           = b.origem
    AND a.idCabecalho      = b.idCabecalho
    AND a.pagamentoTroco   = b.pagamentoTroco
    AND a.sequencia        = b.sequencia
    AND a.parcela          = b.parcela)
  WHEN MATCHED THEN UPDATE SET
    a.prazoPadrao                    = b.prazoPadrao,
    a.prazo                          = b.prazo,
    a.vencimento                     = b.vencimento,
    a.baixaAutomatica                = b.baixaAutomatica,
    a.percentualRateioOriginal       = b.percentualRateioOriginal,
    a.valor                          = b.valor,
    a.complementoFinanceiro          = b.complementoFinanceiro,
    a.idPrevisaoFinanceira           = b.idPrevisaoFinanceira,
    a.idFinanceiro                   = b.idFinanceiro,
    a.idTransacaoTef                 = b.idTransacaoTef,
    a.chequeCompensacao              = b.chequeCompensacao,
    a.chequeBanco                    = b.chequeBanco,
    a.chequeAgenciaBanco             = b.chequeAgenciaBanco,
    a.chequeC1                       = b.chequeC1,
    a.chequeContaBanco               = b.chequeContaBanco,
    a.chequeC2                       = b.chequeC2,
    a.cheque                         = b.cheque,
    a.chequeC3                       = b.chequeC3,
    a.chequeBomPara                  = b.chequeBomPara,
    a.chequeIndicadorPessoa          = b.chequeIndicadorPessoa,
    a.chequeTitular                  = b.chequeTitular,
    a.chequeIndicadorDocumentoPessoa = b.chequeIndicadorDocumentoPessoa,
    a.chequeCnpjCpfIdEstrangeiro     = b.chequeCnpjCpfIdEstrangeiro,
    a.chequeFone                     = b.chequeFone,
    a.chequeDesde                    = b.chequeDesde,
    a.chequeAutenticacao             = b.chequeAutenticacao,
    a.chequeIndicadorFone            = b.chequeIndicadorFone,
    a.chequeOperacaoTelefonia        = b.chequeOperacaoTelefonia,
    a.chequeObservacaoFone           = b.chequeObservacaoFone,
    a.boletoCodigoDigitavelBarras    = b.boletoCodigoDigitavelBarras
  WHEN NOT MATCHED THEN INSERT (
    uniqueMachineID,
    contadorSessao,
    origem,
    idCabecalho,
    pagamentoTroco,
    sequencia,
    parcela,
    prazoPadrao,
    prazo,
    vencimento,
    baixaAutomatica,
    percentualRateioOriginal,
    valor,
    complementoFinanceiro,
    idPrevisaoFinanceira,
    idFinanceiro,
    idTransacaoTef,
    chequeCompensacao,
    chequeBanco,
    chequeAgenciaBanco,
    chequeC1,
    chequeContaBanco,
    chequeC2,
    cheque,
    chequeC3,
    chequeBomPara,
    chequeIndicadorPessoa,
    chequeTitular,
    chequeIndicadorDocumentoPessoa,
    chequeCnpjCpfIdEstrangeiro,
    chequeFone,
    chequeDesde,
    chequeAutenticacao,
    chequeIndicadorFone,
    chequeOperacaoTelefonia,
    chequeObservacaoFone,
    boletoCodigoDigitavelBarras)
  VALUES (
    b.uniqueMachineID,
    b.contadorSessao,
    b.origem,
    b.idCabecalho,
    b.pagamentoTroco,
    b.sequencia,
    b.parcela,
    b.prazoPadrao,
    b.prazo,
    b.vencimento,
    b.baixaAutomatica,
    b.percentualRateioOriginal,
    b.valor,
    b.complementoFinanceiro,
    b.idPrevisaoFinanceira,
    b.idFinanceiro,
    b.idTransacaoTef,
    b.chequeCompensacao,
    b.chequeBanco,
    b.chequeAgenciaBanco,
    b.chequeC1,
    b.chequeContaBanco,
    b.chequeC2,
    b.cheque,
    b.chequeC3,
    b.chequeBomPara,
    b.chequeIndicadorPessoa,
    b.chequeTitular,
    b.chequeIndicadorDocumentoPessoa,
    b.chequeCnpjCpfIdEstrangeiro,
    b.chequeFone,
    b.chequeDesde,
    b.chequeAutenticacao,
    b.chequeIndicadorFone,
    b.chequeOperacaoTelefonia,
    b.chequeObservacaoFone,
    b.boletoCodigoDigitavelBarras);
END ADD_TEMPPARCELAS_GRAVA;

/

INSERT INTO SIMENUS (menu, descricao, ativo, ordenacao, tipoMenu, categoriaMenu, menuPrincipal, aplicacao, nomePublico, categoriaConfiguracao, categoriaPersonalCampo, categoriaMemoriaSistema, permiteReport, observacoes) values (869, 'Arquivos Cobrança', 1, 10002204, 'MO', 100002, 869, '%SYS_DIR%Versoes\%SYS_VER%\Movimentos.ecf', 'PesqArquivosCobranca', 0, 0, 0, 0, ' ');
INSERT INTO SIMENUS (menu, descricao, ativo, ordenacao, tipoMenu, categoriaMenu, menuPrincipal, aplicacao, nomePublico, categoriaConfiguracao, categoriaPersonalCampo, categoriaMemoriaSistema, permiteReport, observacoes) values (870, 'Arquivo Cobrança X Financeiros', 1, 10002205, 'MO', 100002, 870, '%SYS_DIR%Versoes\%SYS_VER%\Movimentos.ecf', 'PesqArquivoCobrancaXFinanceiro', 0, 0, 0, 0, ' ');

COMMIT;

INSERT INTO SIVERSOESSISTEMA (idVersaoSistema, versaoAplicativo, dataLiberacaoVersao, possuiConversaoTabelas, atualizada, dataAtualizacaoVersao, observacoes) VALUES (2023002005, '2023.2.5', TO_DATE('22/02/2023','DD/MM/YYYY'), 1, 1, sysdate, ' ');

COMMIT;

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

/*
*/