Advertisement
filhotecmail

Lançar no livro de movimento de caixa, razão

Nov 10th, 2020
1,539
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 5.20 KB | None | 0 0
  1. /*$$IBEC$$
  2. ################################################################################
  3. # PROGRAMA LEOPARD REPORT
  4. # ANALISTA: CARLOS A. DIAS DA S. FILHO
  5. # DATA: 11/11/2020
  6. # OBJETIVO: CRIAR UM SISTEMA DE GATILHO PARA ALIMENTAR O
  7. # LIVRO DE MOVIMENTAÇAO DE ENTRADAS E SAÍDAS DO CAIXA DA EMPRESA
  8. # COM BASE NAS FORMAS DE PAGAMENTOS INFORMADAS NA VENDA
  9. #
  10. # 1 ) VERIFICAR SE O ESTADO É DE INSERÇÃO OU UPDATE
  11. #     A LÓGICA DEFINE A FORMA COMO SERÁ INJETADA A INFORMAÇÃO
  12. # SE EM INSERTING , O SISTEMA DEVERÁ SE A VENDA ESTÁ COM SEU STATUS DE FECHADA
  13. # SE FOR FECHADA O SISTEMA IRÁ ALIMENTAR O LIVRO DE REGISTROS COM O VALOR 0
  14.   DE ENTRADA.
  15.      EM UPDATING O SISTEMA IRÁ ALIMENTAR O LIVRO COM A INFORMAÇÃO
  16.      SE O STATUS DA VENDA ESTIVER COMO ESTORNADA SERA ADICIONADO
  17.      NO LIVRO O REGISTRO COM VALOR 1 - SAÍDA
  18. # O SISTEMA DEVERÁ REGISTRAR O CNPJ DA EMPRESA NO LIVRO
  19. # O SISTEMA DEVERA ANALISAR SE A VENDA TEM CFE E DEVERÁ INJETAR OS VALORES
  20. # PARA O CFE
  21.  
  22. # TO-DO
  23.  1 - INJETAR O SUPORTE A CNPJ DA EMPRESA NAS TABELAS DE TRANSFERÊNCIA DOS
  24.      TERMINAIS PDV S
  25.  2 - INJETAR AS INFORMAÇÕES DO PLANO DE CONTAS
  26.  
  27. ################################################################################
  28. $$IBEC$$*/
  29.  
  30. AS
  31. DECLARE VARIABLE CONSOLIDA INTEGER;
  32. DECLARE VARIABLE CHAVESAT VARCHAR(44);
  33. DECLARE VARIABLE SITSAT VARCHAR(35);
  34. DECLARE VARIABLE SIGLA VARCHAR(4);
  35. DECLARE VARIABLE NRODOCFISCAL VARCHAR(10);
  36. DECLARE VARIABLE CNPJEMPRESA VARCHAR(35);
  37. DECLARE VARIABLE SITVENDA VARCHAR(35);
  38. BEGIN
  39.  CONSOLIDA  = 0;
  40.  
  41.  IF (INSERTING) THEN
  42.  BEGIN
  43.  
  44.   SELECT VV.VENDA_CHAVESAT,
  45.            VV.SAT_SITUACAO,
  46.            IIF( VV.SAT_SITUACAO = 'EMITIDO','CFE','NA' ),
  47.            IIF(VV.SAT_SITUACAO = 'EMITIDO',VV.VENDA_NUMSAT,0000),
  48.            VV.VENDA_SITUACAO
  49.     FROM MOVPDV_VENDAS VV
  50.     WHERE VV.VENDA_NUMVENDA = NEW.VENDA_NUMERO
  51.     AND ( ( VV.PDV_NUMPDV = NEW.PDV_NUMPDV ) )
  52.  
  53.     INTO
  54.         :CHAVESAT,
  55.         :SITSAT,
  56.         :SIGLA,
  57.         :NRODOCFISCAL,
  58.         :SITVENDA;
  59.  
  60.   SELECT FIRST 1 P.CNPJ FROM CADEMPRESA P INTO :CNPJEMPRESA;
  61.  
  62. /*$$IBEC$$
  63. #
  64.   01 - Dinheiro
  65.   02 - Cheque
  66.   03 - Cartão de Crédito
  67.   04 - Cartão de Débito
  68.   05 - Crédito Loja
  69.   10 - Vale Alimentação
  70.   11 - Vale Refeição
  71.   12 - Vale Presente
  72.   13 - Vale Combustível
  73.   99 - Outros
  74. #
  75. # Define um Padrão para que dinheiro seja consolidado.
  76. $$IBEC$$*/
  77.  
  78.   IF ( NEW.F019IND_PAG = 1 ) THEN
  79.   BEGIN
  80.    CONSOLIDA = 1;
  81.   END
  82.  
  83.   IF (SITVENDA = 'FECHADA') THEN
  84.   BEGIN
  85.    INSERT INTO FINANC_REGMOVCAIXA
  86.           (F001CNPJEMPRESA,
  87.            F002DATA,
  88.            F002AHORA,
  89.            F003HISTORICO,
  90.            F004VALOR,
  91.            F005TIPOMOVIMENTO,
  92.            F006ESPECIE,
  93.            F007XESPECIEDESC,
  94.            F008CONSOLIDADO,
  95.            F009CODPLANOCONTAS,
  96.            F010DESCPLANOCONTAS,
  97.            F01SIGLADOCFISCAL,
  98.            F012CHAVEDOCFISCAL,
  99.            F013NRODOCFISCAL,
  100.            F014SERIEDOCFISCAL)
  101.     VALUES ( :CNPJEMPRESA ,
  102.             NEW.VENDA_DATA,
  103.             NEW.VENDA_HORA,
  104.             'VENDA EM '||NEW.FIN_DESCRICAO||' NO CAIXA '||NEW.PDV_NUMPDV||' REF A VENDA NRO.'||NEW.VENDA_NUMERO  ,
  105.             NEW.FIN_VALORREC,
  106.             0,
  107.             CAST(NEW.F019IND_PAG AS VARCHAR(2)),
  108.             NEW.FIN_DESCRICAO,
  109.             :CONSOLIDA,
  110.             NULL,
  111.             '',
  112.             :SIGLA,
  113.             :CHAVESAT,
  114.             :NRODOCFISCAL,1);
  115.    END
  116.   END
  117. /*$$IBEC$$
  118. ################################################################################
  119. ############### Inicia o bloco de update #######################################
  120. $$IBEC$$*/
  121.   IF ( UPDATING ) THEN
  122.   BEGIN
  123.  
  124.    SELECT VV.VENDA_CHAVESAT,
  125.            VV.SAT_SITUACAO,
  126.            IIF( VV.SAT_SITUACAO = 'ESTORNADO' OR ( VV.SAT_SITUACAO = 'EMITIDO' ) ,'CFE','NA' ),
  127.            IIF( VV.SAT_SITUACAO = 'ESTORNADO' OR ( VV.SAT_SITUACAO = 'EMITIDO' ) ,VV.VENDA_NUMSAT,0000),
  128.            VV.VENDA_SITUACAO
  129.     FROM MOVPDV_VENDAS VV
  130.     WHERE VV.VENDA_NUMVENDA = NEW.VENDA_NUMERO
  131.     AND ( ( VV.PDV_NUMPDV = NEW.PDV_NUMPDV ) )
  132.  
  133.     INTO
  134.         :CHAVESAT,
  135.         :SITSAT,
  136.         :SIGLA,
  137.         :NRODOCFISCAL,
  138.         :SITVENDA;
  139.  
  140.   SELECT FIRST 1 P.CNPJ FROM CADEMPRESA P INTO :CNPJEMPRESA;
  141.  
  142.     IF ( :SITVENDA = 'ESTORNADA' ) THEN
  143.     BEGIN
  144.        INSERT INTO FINANC_REGMOVCAIXA
  145.           (F001CNPJEMPRESA,
  146.            F002DATA,
  147.            F002AHORA,
  148.            F003HISTORICO,
  149.            F004VALOR,
  150.            F005TIPOMOVIMENTO,
  151.            F006ESPECIE,
  152.            F007XESPECIEDESC,
  153.            F008CONSOLIDADO,
  154.            F009CODPLANOCONTAS,
  155.            F010DESCPLANOCONTAS,
  156.            F01SIGLADOCFISCAL,
  157.            F012CHAVEDOCFISCAL,
  158.            F013NRODOCFISCAL,
  159.            F014SERIEDOCFISCAL)
  160.     VALUES ( :CNPJEMPRESA ,
  161.             NEW.VENDA_DATA,
  162.             NEW.VENDA_HORA,
  163.             'ESTORNO DO CAIXA EM '||NEW.FIN_DESCRICAO||' NO CAIXA '||NEW.PDV_NUMPDV||' REF A VENDA NRO.'||NEW.VENDA_NUMERO  ,
  164.             NEW.FIN_VALORREC,
  165.             1,
  166.             CAST(NEW.F019IND_PAG AS VARCHAR(2)),
  167.             NEW.FIN_DESCRICAO,
  168.             :CONSOLIDA,
  169.             NULL,
  170.             '',
  171.             :SIGLA,
  172.             :CHAVESAT,
  173.             :NRODOCFISCAL,1);
  174.     END
  175.   END
  176. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement