Árvore de páginas

Versões comparadas

Chave

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

...

  • O sistema deverá disponibilizar novo plugin de nome "Simulação de impostos", com descrição "Simule impostos diretamente no pedido de venda para negociações mais precisas com seu cliente."
    • O link para o manual do plugin será Manual - Plugin de Integração "Simulação de Impostos"
    • Pelo tools, opção 18, o sistema deverá persistir novo registro na tabela pluginintegracao.codigo com valor = IMPOSTO
    • Para funcionar corretamente, o cadastro das configurações do plugin de Imposto deve inserir na tabela pluginintconfig as seguintes informações:

...

          • URL: ${"Configurações gerais"."Configurações do Pentaho"."URL"}/kettle/executeJob/
          • Autenticação básica:
            • Usuário: ${"Configurações gerais"."Configurações do Pentaho"."Usuário"}
            • Senha: ${"Configurações gerais"."Configurações do Pentaho"."Senha"}
          • Content Type: application/x-www-form-urlencoded
          • Parametros:
            • rep=COMMON_SERVICES
            • job=COMMONS_Bloco_TAXSIMULATION
            • BODYbody=


              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
              			"idembalagem": 10, //pedidoproduto.idembalagem,
                          "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
               			"idembalagem": 10, //pedidoproduto.idembalagem,
                          "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
              			"idparceiroentrega": 8, //pedidoentrega.idparceiroentrega
                          "valorfrete": 5.00, //pedidoentrega.valorfrete
                          "valordespesa": 6.00, //pedidoentrega.valordespesa
                          "valorseguro": 7.00 //pedidoentrega.valorseguro        
                      },
                      {
                          "idtipofrete": 4, //pedidoentrega.idtipofrete
                          "idtransportadora": 7,//pedidoentrega.idparceirotransportador
              			"idparceiroentrega": 8, //pedidoentrega.idparceiroentrega
                          "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": 178.56,
                    "valortotalimpostos": 21.96,
                    "valortotaldespesa": 0, //pedidoentrega.valordespesa
                    "valortotalseguro": 7, //pedidoentrega.valorseguro  
                    "pedidoimposto": [
                      {
                        "sglimposto": "ICMS",
                        "aliquota": 7,
                        "valortotalimposto": 12.14
                      },
                      {
                        "sglimposto": "IPI",
                        "aliquota": 6,
                        "valortotalimposto": 9.82
                      }
                    ],
                    "itemimposto": [
                      {
                        "ordem": 1, //pedidoproduto.ordem
                        "idproduto": 8, //pedidoproduto.idproduto //
                        "valortotalcomimpostos": 89.21, //NÃO UNITÁRIO, precisa ser múltiplicado pela requisição.quantidade
                        "valortotalfrete": 2.5, //NÃO UNITÁRIO, precisa ser múltiplicado pela requisição.quantidade
                        "impostos": [
                          {
                            "sglimposto": "ICMS",
                            "valorbase": 78.3,
                            "aliquota": 6.24,
                            "valortotalimposto": 6.24 //NÃO UNITÁRIO, precisa ser múltiplicado pela requisição.quantidade
                          },
                          {
                            "sglimposto": "IPI",
                            "valorbase": 78.3,
                            "aliquota": 6,
                            "valortotalimposto": 4.91 //NÃO UNITÁRIO, precisa ser múltiplicado pela requisição.quantidade
                          },
                          {
                            "sglimposto": "ST",
                            "valorbase": 78.3,
                            "aliquota": 0,
                            "valortotalimposto": 0 //NÃO UNITÁRIO, precisa ser múltiplicado pela requisição.quantidade
                          },
                          {
                            "sglimposto": "COFINS",
                            "valorbase": 78.3,
                            "aliquota": 0,
                            "valortotalimposto": 0 //NÃO UNITÁRIO, precisa ser múltiplicado pela requisição.quantidade
                          },
                          {
                            "sglimposto": "CSLL",
                            "valorbase": 78.3,
                            "aliquota": 0,
                            "valortotalimposto": 0 //NÃO UNITÁRIO, precisa ser múltiplicado pela requisição.quantidade
                          }
                        ]
                      },
                      {
                        "ordem": 2, //pedidoproduto.ordem
                        "idproduto": 9, //pedidoproduto.idproduto //
                        "valortotalcomimpostos": 84.3, //NÃO UNITÁRIO, precisa ser múltiplicado pela requisição.quantidade
                        "valortotalfrete": 2.5, //NÃO UNITÁRIO, precisa ser múltiplicado pela requisição.quantidade
                        "impostos": [
                          {
                            "sglimposto": "ICMS",
                            "valorbase": 78.3,
                            "aliquota": 5.9,
                            "valortotalimposto": 5.9 //NÃO UNITÁRIO, precisa ser múltiplicado pela requisição.quantidade
                          },
                          {
                            "sglimposto": "IPI",
                            "valorbase": 78.3,
                            "aliquota": 6,
                            "valortotalimposto": 4.91 //NÃO UNITÁRIO, precisa ser múltiplicado pela requisição.quantidade
                          },
                          {
                            "sglimposto": "ST",
                            "valorbase": 78.3,
                            "aliquota": 0,
                            "valortotalimposto": 0 //NÃO UNITÁRIO, precisa ser múltiplicado pela requisição.quantidade
                          },
                          {
                            "sglimposto": "COFINS",
                            "valorbase": 78.3,
                            "aliquota": 0,
                            "valortotalimposto": 0 //NÃO UNITÁRIO, precisa ser múltiplicado pela requisição.quantidade
                          },
                          {
                            "sglimposto": "CSLL",
                            "valorbase": 78.3,
                            "aliquota": 0,
                            "valortotalimposto": 0 //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)

PS: É importante que tanto a requisição, quanto o retorno sejam logadas no console (f12) e log (server.log) da Web/Wildfly, para facilitar triagem de chamados envolvendo simulação de impostos.

...

Será implementado um modelo genérico padrão, onde o Pentaho deverá enviar requisição com autenticação básica definida segundo modelo padrão e esperando receber retorno segundo modelo padrão definido pela documentação Manual - Plugin de Integração "Simulação de Impostos".

Caso os sistemas terceiros se adaptem ao modelo padrão definido acima, o requisito de simulação de impostos poderá ser implementados sem necessidade de customização.

...