Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

  • Inserir na tabela wsconfigintegracao:
    • INSERT INTO public.wsconfigintegracao (erp,contexto,descricao,tabela,campo,valor,idnativo)
          VALUES ('COMUM','LIMITECREDITO','Parâmetro que define os status de pedidos que terão seus movimentos de limitecredito processados pela integração automaticamente. Valores podem ser separados por vírgula','processamovimento','sgltiposituacaopedido','PF',1);
    • INSERT INTO public.wsconfigintegracao (erp,contexto,descricao,tabela,campo,valor,idnativo)
          VALUES ('COMUM','LIMITECREDITO','Parâmetro que define os status de pedidos que terão seus movimentos de limitecredito inativados pela integração automaticamente. Valores podem ser separados por vírgula','inativamovimento','sgltiposituacaopedido','PC',1);
    • INSERT INTO public.wsconfigintegracao (erp,contexto,descricao,tabela,campo,valor,idnativo)
          VALUES ('COMUM','LIMITECREDITO','Parâmetro que define se o saldo de limitecredito será atualizado após processamento de flex. Valores podem ser: 1(sim: normalmente utilizando quando não há integração de limite de crédito com o ERP) e 0(não: normalmente utilizado quando o saldo de limite de crédito vêm do ERP)','apos_processamento','alterasaldo','0',1);
  • O serviço de processamento de limitecredito deverá:
    • Consultar quais são as movimentações de limitecredito ativas e não processadas de pedidos que possuem status dentro do definido pelo parâmetro processamovimento.
      • // consulta 1
        select * from limitecreditomovimento lcm
        inner join pedido p on p.idpedido = lcm.idpedido
        where p.idtiposituacaopedido in (select idtiposituacaopedido from tiposituacaopedido where sgltiposituacaopedido in (${parâmetro processamovimento})) and lcm.idnativo = 1 and lcm.idnprocessado = 0
    • Com esses movimentos no fluxo, a integração deverá processar o movimento, com o seguinte update:
      • update limitecreditomovimento set idnprocessado = 1 where idcontrolelimitecreditomovimento in (${consulta 1})
    • Após o processamento das limitecreditos acima, a integração deverá atualizar o saldo limitecredito com o valor que foi recém processado, segundo:
      • update limitecredito set saldodisponível = saldodisponivel + ${movimento processado}
        • Essa atualização somente deve acontecer quando o parâmetro ${parametro alterasaldo} estiver marcado com valor 1.
  • O serviço de inativação de limitecredito deverá:
    • Consultar quais são as movimentações de limitecredito não processadas de pedidos que possuem status dentro do definido pelo parâmetro inativamovimento.
      • // consulta 2
        select * from limitecreditomovimento lcm
        inner join pedido p on p.idpedido = lcm.idpedido
        where p.idtiposituacaopedido in (select idtiposituacaopedido from tiposituacaopedido where sgltiposituacaopedido in (${parâmetro inativamovimento})) and lcm.idnativo = 1 and lcm.idnprocessado = 0
    • Com esses movimentos no fluxo, a integração deverá processar o movimento, com o seguinte update:
      • update limitecreditomovimento set idnativo = 0 where idcontrolelimitecreditomovimento in (${consulta 2})