Advertisement
Guest User

Untitled

a guest
May 28th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. INSERT INTO TRANSCRICAO_CHECK
  2. (
  3.     ID,
  4.  
  5.     -- T
  6.     ID_USUARIO,
  7.     TEMPOPROCESSAMENTO,
  8.     DATA_CRIACAO,
  9.     USED_EXTRA_TIME,
  10.  
  11.     MATCH,
  12.  
  13.     ID_TRANSCRICAO,
  14.     ID_IMAGEM,
  15.  
  16.     -- NF
  17.     ID_FORMA_PAGAMENTO,
  18.     DATA_NOTA,
  19.     NUMERO_NOTA,
  20.     EMITENTE_CNPJ,
  21.     EMITENTE_RAZAO_SOCIAL,
  22.     EMITENTE_VERIFICADO,
  23.     VALOR,
  24.     ECF,
  25.     VENDEDOR,
  26.     VALOR_BRUTO,
  27.     CPF,
  28.  
  29.     -- T
  30.     STATUS,
  31.     INFO,
  32.     ORIGINAL,
  33.     ERROS
  34. )
  35.  
  36. SELECT
  37.     TRANSCRICAO_CHECK_ID_SEQ.NEXTVAL,
  38.  
  39.     -- T
  40.     ID_USUARIO,
  41.     TEMPOPROCESSAMENTO,
  42.     DATA_CRIACAO,
  43.     USED_EXTRA_TIME,
  44.  
  45.     MATCH,
  46.  
  47.     ID_TRANSCRICAO,
  48.     ID_IMAGEM,
  49.  
  50.     -- NF
  51.     ID_FORMA_PAGAMENTO,
  52.     DATA_NOTA,
  53.     NUMERO_NOTA,
  54.     EMITENTE_CNPJ,
  55.     EMITENTE_RAZAO_SOCIAL,
  56.     EMITENTE_VERIFICADO,
  57.     VALOR,
  58.     ECF,
  59.     VENDEDOR,
  60.     VALOR_BRUTO,
  61.     CPF,
  62.  
  63.     -- T
  64.     STATUS,
  65.     INFO,
  66.     ORIGINAL,
  67.     '0'
  68.  
  69.  
  70. FROM (
  71.     SELECT
  72.         T.ID_USUARIO,
  73.         T.TEMPOPROCESSAMENTO,
  74.         T.DATA_CRIACAO,
  75.         T.USED_EXTRA_TIME,
  76.  
  77.         (
  78.             CASE WHEN (
  79.                 SELECT COUNT(1)
  80.                 FROM TRANSCRICAO TCOUNT
  81.                 WHERE T.ID_IMAGEM = TCOUNT.ID_IMAGEM
  82.             ) > 1
  83.             THEN (
  84.                 CASE WHEN T.DATA_CRIACAO = (
  85.                     SELECT MAX(TDUP.DATA_CRIACAO)
  86.                     FROM TRANSCRICAO TDUP
  87.                     WHERE T.ID_IMAGEM = TDUP.ID_IMAGEM
  88.                 ) THEN '4' ELSE '2' END
  89.             )
  90.             ELSE '4' END
  91.         ) MATCH,
  92.  
  93.         T.ID ID_TRANSCRICAO,
  94.         T.ID_IMAGEM,
  95.        
  96.         NF.ID_FORMA_PAGAMENTO,
  97.         NF.DATA_NOTA,
  98.         NF.NUMERO_NOTA,
  99.         NF.EMITENTE_CNPJ,
  100.         NF.EMITENTE_RAZAO_SOCIAL,
  101.         NF.EMITENTE_VERIFICADO,
  102.         NF.VALOR,
  103.         NF.ECF,
  104.         NF.VENDEDOR,
  105.         NF.VALOR_BRUTO,
  106.         NF.CPF,
  107.  
  108.         T.STATUS,
  109.         T.INFO,
  110.  
  111.         (
  112.             CASE WHEN (
  113.                 SELECT COUNT(1)
  114.                 FROM TRANSCRICAO TCOUNT
  115.                 WHERE T.ID_IMAGEM = TCOUNT.ID_IMAGEM
  116.             ) > 1
  117.             THEN (
  118.                 CASE WHEN T.DATA_CRIACAO = (
  119.                     SELECT MIN(TDUP.DATA_CRIACAO)
  120.                     FROM TRANSCRICAO TDUP
  121.                     WHERE T.ID_IMAGEM = TDUP.ID_IMAGEM
  122.                 ) THEN '1' ELSE '0' END
  123.             )
  124.             ELSE '1' END
  125.         ) ORIGINAL
  126.  
  127.     FROM TRANSCRICAO T
  128.     JOIN IMAGEM I ON T.ID_IMAGEM = I.ID
  129.     JOIN DOCUMENTO D ON D.ID = I.ID_DOCUMENTO
  130.     LEFT JOIN NOTA_FISCAL NF ON D.ID_NOTA_FISCAL = NF.ID AND T.INFO IS NULL
  131.  
  132.     WHERE NOT EXISTS (
  133.         SELECT * FROM TRANSCRICAO_CHECK TC WHERE T.ID = TC.ID_TRANSCRICAO
  134.     )
  135. );
  136.  
  137.  
  138. -- DELETE
  139. SELECT *
  140.  
  141. FROM TRANSCRICAO
  142. WHERE ROWID IN (
  143.     SELECT RID FROM (
  144.         SELECT
  145.             ROWID RID,
  146.             ROW_NUMBER() OVER (PARTITION BY ID_IMAGEM ORDER BY ID_IMAGEM) RN
  147.         FROM TRANSCRICAO
  148.     )
  149.     WHERE RN > 1
  150. );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement