Árvore de páginas

Versões comparadas

Chave

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

...

  • No pedido de venda, caso o plugin de integração de código "imposto" estiver ativo,
    • O sistema deverá disponibilizar o botão de "Calcular impostos" Web e ícone no Android.
      • Como já acontece com o modelo "PLUGIN_WINTHOR" atualmente, o sistema deve gerenciar a exibição de icone colorido baseado na situação dos impostos:
        • Impostos não calculados: cor amarela
        • Impostos calculados: cor verde
          • Ao alterar dados dos produtos, o ícone deve retornar para o status de "não calculado"
      • Ao clicar no botão de "Calcular impostos"
        • O sistema deverá disparar uma requisição POST para o endereço a seguir:
          • ${"Configurações gerais"."Configurações do Pentaho"."URL"}/kettle/executeJob?rep=COMMON_SERVICES&job=COMMONS_JOBBloco_TAXSIMULATION
            • Autenticação básica:
              • Usuário: ${"Configurações gerais"."Configurações do Pentaho"."Usuário"}
              • Senha: ${"Configurações gerais"."Configurações do Pentaho"."Senha"}
            • Body:
              • Bloco de código
                {
                    "idusuario": 1, //pedido.idusuarioprofissional
                    "idparceiro": 1, //pedido.idparceiro
                    "idlocal": 2, //pedido.idlocal
                    "idlocalcobranca": 3, //pedido.idlocalcobranca
                    "idfilialvenda": 3, //pedido.idlocalfilialvenda
                    "idfilialretira": 4, //pedido.idlocalfilialretirada
                    "idfilialfaturamento": 5, //pedido.idlocalfilialfaturamento
                    "idtipopedido": 4, //pedido.idtipopedido
                    "idtipocobranca": 5, //pedido.idtipocobranca
                    "idtabelapreco": 6, //pedido.idtabelapreco
                    "idcondicaopagamento": 5, //pedido.idcondicaopagamento
                    "idsegmento": 8, //pedido.idsegmento
                    "idtipologia": 8, //pedido.idtipologia
                    "idoperacao": 8, //pedido.idoperacao
                    "idmoeda": 8, //pedido.idindexador
                    "idtipoestoque": 8, //pedido.idtipoestoque
                    "valortotalbruto": 8.00, //Campo "Valor total bruto do resumo"
                    "valortotalliquido": 9.00,//Campo "Valor total liquido do resumo"
                    "descontopedido": [
                        {
                            "codigo": "8", //pedidotipodesconto.idtipodesconto > tipodesconto.codigo
                            "percentual": 9.00, //pedidotipodesconto.percentual
                            "valor": 10.00 //pedidotipodesconto.valor
                        },
                        {
                            "codigo": "8", //pedidotipodesconto.idtipodesconto > tipodesconto.codigo
                            "percentual": 9.00, //pedidotipodesconto.percentual
                            "valor": 10.00 //pedidotipodesconto.valor
                        }
                    ],
                    "pedidoproduto": [
                        {
                            "ordem": 1, //pedidoproduto.ordem
                            "idproduto": 8, //pedidoproduto.idproduto
                            "quantidade": 9.00, //pedidoproduto.quantidade
                            "precovenda": 10.00, //pedidoproduto.precovenda PS:Valor unitário
                            "precotabela": 11.00, //pedidoproduto.precotabela PS:Valor unitário
                            "precooriginal": 12.00, //pedidoproduto.precooriginal PS:Valor unitário
                            "percentualdesconto": 13.00, //pedidoproduto.percentualdesconto
                            "valordesconto": 13.00, //pedidoproduto.valordesconto PS:Valor unitário
                            "percentualacrescimo": 13.00, //pedidoproduto.percentualacrescimo
                            "valoracrescimo": 13.00, //pedidoproduto.valoracrescimo PS:Valor unitário
                            "idtipopedido": 13.00, //pedidoproduto.idtipopedido
                            "idtipoestoque": 14, //pedidoproduto.idtipoestoque
                            "idtabelapreco": 15, //pedidoproduto.idtabelapreco
                        },
                        {
                            "ordem": 1, //pedidoproduto.ordem
                            "idproduto": 8, //pedidoproduto.idproduto
                            "quantidade": 9.00, //pedidoproduto.quantidade
                            "precovenda": 10.00, //pedidoproduto.precovenda PS:Valor unitário
                            "precotabela": 11.00, //pedidoproduto.precotabela PS:Valor unitário
                            "precooriginal": 12.00, //pedidoproduto.precooriginal PS:Valor unitário
                            "percentualdesconto": 13.00, //pedidoproduto.percentualdesconto
                            "valordesconto": 13.00, //pedidoproduto.valordesconto PS:Valor unitário
                            "percentualacrescimo": 13.00, //pedidoproduto.percentualacrescimo
                            "valoracrescimo": 13.00, //pedidoproduto.valoracrescimo PS:Valor unitário
                            "idtipopedido": 13.00, //pedidoproduto.idtipopedido
                            "idtipoestoque": 14, //pedidoproduto.idtipoestoque
                            "idtabelapreco": 15, //pedidoproduto.idtabelapreco
                        }
                    ],
                    "pedidoentrega": [
                        {
                            "idtipofrete": 4, //pedidoentrega.idtipofrete
                            "idtransportadora": 7,//pedidoentrega.idparceirotransportador
                            "valorfrete": 5.00, //pedidoentrega.valorfrete
                            "valordespesa": 6.00, //pedidoentrega.valordespesa
                            "valorseguro": 7.00 //pedidoentrega.valorseguro        
                        },
                        {
                            "idtipofrete": 4, //pedidoentrega.idtipofrete
                            "idtransportadora": 7,//pedidoentrega.idparceirotransportador
                            "valorfrete": 5.00, //pedidoentrega.valorfrete
                            "valordespesa": 6.00, //pedidoentrega.valordespesa
                            "valorseguro": 7.00 //pedidoentrega.valorseguro        
                        }
                    ]
                }
            • O retorno esperado virá com o modelo a seguir:
              • Bloco de código
                {
                    "valortotalcomimpostos": 15.00,
                    "valortotalimpostos": 16.00,
                    "valortotaldespesa": 6.00, //pedidoentrega.valordespesa
                    "valortotalseguro": 7.00, //pedidoentrega.valorseguro        
                    "pedidoimposto": [
                        {
                            "sglimposto": "ICMS",
                            "aliquota": 11.00,
                            "valortotalimposto": 0.5,
                        },
                        {
                            "sglimposto": "ST",
                            "aliquota": 11.00,
                            "valortotalimposto": 0.5
                        },
                        {
                            "sglimposto": "IPI",
                            "aliquota": 11.00,
                            "valortotalimposto": 0.5
                        }
                    ],
                    "itemimposto": [
                        {
                            "ordem": 1, //pedidoproduto.ordem
                            "idproduto": 8, //pedidoproduto.idproduto //
                            "valortotalcomimpostos": 12.00, //NÃO UNITÁRIO, precisa ser múltiplicado pela requisição.quantidade
                            "valortotalfrete": 15.00, //NÃO UNITÁRIO, precisa ser múltiplicado pela requisição.quantidade
                            "impostos": [
                                {
                                    "sglimposto": "ICMS",
                                    "valorbase": 10.00,
                                    "aliquota": 11.00,
                                    "valortotalimposto": 12.00 //NÃO UNITÁRIO, precisa ser múltiplicado pela requisição.quantidade
                                },
                                {
                                    "sglimposto": "IPI",
                                    "valorbase": 10.00,
                                    "aliquota": 11.00,
                                    "valortotalimposto": 12.00 //NÃO UNITÁRIO, precisa ser múltiplicado pela requisição.quantidade
                                },
                                {
                                    "sglimposto": "ST",
                                    "valorbase": 10.00,
                                    "aliquota": 11.00,
                                    "valortotalimposto": 12.00 //NÃO UNITÁRIO, precisa ser múltiplicado pela requisição.quantidade
                                }
                            ]
                        },
                        {
                            "ordem": 1, //pedidoproduto.ordem
                            "idproduto": 8, //pedidoproduto.idproduto
                            "valortotalcomimpostos": 12.00, //NÃO UNITÁRIO, precisa ser múltiplicado pela requisição.quantidade
                            "valortotalfrete": 15.00, //NÃO UNITÁRIO, precisa ser múltiplicado pela requisição.quantidade
                            "impostos": [
                                {
                                    "sglimposto": "ICMS",
                                    "valorbase": 10.00,
                                    "aliquota": 11.00,
                                    "valortotalimposto": 12.00 //NÃO UNITÁRIO, precisa ser múltiplicado pela requisição.quantidade
                                },
                                {
                                    "sglimposto": "IPI",
                                    "valorbase": 10.00,
                                    "aliquota": 11.00,
                                    "valortotalimposto": 12.00 //NÃO UNITÁRIO, precisa ser múltiplicado pela requisição.quantidade
                                },
                                {
                                    "sglimposto": "ST",
                                    "valorbase": 10.00,
                                    "aliquota": 11.00,
                                    "valortotalimposto": 12.00 //NÃO UNITÁRIO, precisa ser múltiplicado pela requisição.quantidade
                                }
                            ]
                        }
              • Com o retorno acima, o sistema deverá persistir as informações em tela, segundo o seguinte de-para:
                • Retorno da SimulaçãoCampo do SFA
                  itemimposto.impostos.sglimposto

                  pedidoimposto.idimposto

                  itemimposto.impostos.valorbase

                  pedidoimposto.valorbasecalculoreducao

                  itemimposto.impostos.aliquotapedidoimposto.valorbasecalculo
                  itemimposto.impostos.valortotalimposto

                  pedidoimposto.valorimposto

                  itemimposto.ordem / itemimposto.idprodutopedidoimposto.idpedidoproduto (procurar por pedidoproduto.ordem e pedidoproduto.idproduto respectivamente)
                  itemimposto.ordem / itemimposto.idprodutopedidoproduto.idpedidoproduto (procurar por pedidoproduto.ordem e pedidoproduto.idproduto respectivamente)
                  itemimposto.valortotalfretepedidoproduto.valorfrete
                  itemimposto.valortotalcomimpostospedidoproduto.valortotalcomimpostos
                • A representação dos impostos em tela seguirá o modelo atual, exibindo os valores persistidos na linha do item e nos resumos, agrupando os valores dos itens.
    • Ao gravar o pedido,
      • Caso a checkbox "Gravar pedido" estiver marcada, o sistema deverá restringir a gravação caso os impostos não estiverem calculados (cor verde), com mensagem: "É obrigatória a simulação de impostos para executar esta ação"
    • Ao finalizar o pedido
      • Caso a checkbox "Finalizar pedido" estiver marcada, o sistema deverá restringir a finalização caso os impostos não estiverem calculados (cor verde), com mensagem: "É obrigatória a simulação de impostos para executar esta ação"
    • Ao abrir pedidos não finalizados,
      • O sistema deverá adotar o status dos impostos como "não calculados" (cor amarela)

...

O Pentaho Carte, recebendo a requisição da aplicação na rota COMMONS_JOBBloco_TAXSIMULATION, deverá tratar os dados recebidos segundo o modelo da entrada da API de simulação de impostos do Protheus, segundo documentação  https://api.totvs.com.br/apidetails/SalesTaxes_v1_000.json

...

O Pentaho Carte, recebendo a requisição da aplicação na rota COMMONS_JOBBloco_TAXSIMULATION, deverá tratar os dados recebidos segundo o modelo da entrada da API de simulação de impostos do Datasul, que segue o mesmo modelo de body da documentação  https://api.totvs.com.br/apidetails/SalesTaxes_v1_000.json

...