Advertisement
Guest User

Untitled

a guest
Dec 8th, 2019
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 2.21 KB | None | 0 0
  1. DECLARE @idPagamentoVenda INT= 58663033;
  2. DECLARE @qtParcelas INT= 4;
  3. DECLARE @prTaxaAdministracao NUMERIC(9, 2)= 0.25;
  4. IF(
  5. (
  6.     SELECT COUNT(*)
  7.     FROM card.tbParcela
  8.     WHERE idPagamentoVenda = @idPagamentoVenda
  9.           AND idStatusParcela = 2
  10. ) = 0)
  11.     BEGIN
  12.         IF(
  13.         (
  14.             SELECT COUNT(*)
  15.             FROM card.tbParcela
  16.             WHERE idPagamentoVenda = @idPagamentoVenda
  17.         ) <> @qtParcelas)
  18.             BEGIN
  19.                 DECLARE @iterator INT= 0;
  20.                 DECLARE @cntCorrente INT=
  21.                 (
  22.                     SELECT TOP 1 COUNT(*)
  23.                     FROM card.tbParcela
  24.                     WHERE idPagamentoVenda = @idPagamentoVenda
  25.                 );
  26.                 DELETE FROM card.tbParcela
  27.                 WHERE idPagamentoVenda = @idPagamentoVenda;
  28.                 UPDATE card.tbPagamentoVenda
  29.                   SET
  30.                       qtParcelas = @qtParcelas
  31.                 WHERE idPagamentoVenda = @idPagamentoVenda;
  32.                 WHILE @qtParcelas > @iterator
  33.                     BEGIN
  34.                         INSERT INTO card.tbParcela
  35.                                SELECT t1.idPagamentoVenda 'idPagamentoVenda',
  36.                                       @iterator + 1 'nrParcela',
  37.                                       t1.idEmpresa 'idEmpresa',
  38.                                       t1.dtEmissao 'dtEmissao',
  39.                                       CONVERT(VARCHAR, DATEADD(DAY, 30, CONVERT(DATE, t1.dtEmissao, 103)), 23) 'dtVencimento',
  40.                                       t1.vlPagamento / @qtParcelas 'vlParcela',
  41.                                       @prTaxaAdministracao 'vlTaxaAdministracao',
  42.                                       @cntCorrente 'idContaCorrente',
  43.                                       NULL 'dtPagamento',
  44.                                       NULL 'vlPago',
  45.                                       1 'idStatusParcela',
  46.                                       NULL 'idMovimentoBanco'
  47.                                FROM card.tbPagamentoVenda t1
  48.                                WHERE t1.idPagamentoVenda = @idPagamentoVenda;
  49.                         SET @iterator = @iterator + 1;
  50.         END;
  51.         END;
  52. END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement