Mudanças entre as edições de "Cálculo do Custo"

De GeoSales
Ir para navegação Ir para pesquisar
Linha 15: Linha 15:
  
 
=Implementação=
 
=Implementação=
 
+
* Será criado uma tabela que o cálculo de custo irá percorrer para aplicar cada função ativa e na ordem para o cálculo do custo.
Iremos dividir em dois momentos, Primeiramente calcular o '''CUSTO''' de cada item, e depois a '''APLICAÇÃO''', onde iremos aplicar a  Margem e qual validação ela terá.
 
 
 
=== Cálculo ===
 
 
 
Como exemplo iremos adotar as seguinte informações:
 
 
 
*Custo do produto Lorbson - '''R$400,00''' (Essa informação será cadastrada no ERP)
 
*Vencimento: Data de Hoje - (Essa campo é o mesmo que foi criado na funcionalidade de Bloqueio por Prazo)
 
*Taxa de Juros de (1,8% a.m) / 30 = Taxa de Juros a.d = '''0,06%'''. (Essa informação será cadastrada no ERP)
 
 
 
==== Cálculo do Custo ====
 
* O Custo será calculado através de Listeners, será criado uma tabela na base de dados para listar esses listeners e controlar a ordem de aplicação se houver a necessidade de realizar mais de um cálculo para achar o custo do Produto.
 
  
 
Estrutura da Tabela: '''APLICACAO_CUSTO'''
 
Estrutura da Tabela: '''APLICACAO_CUSTO'''
Linha 33: Linha 21:
 
{| class="wikitable"
 
{| class="wikitable"
 
! ID
 
! ID
! DS_LISTENER
+
! DS_FUNCAO
 
! ORDEM
 
! ORDEM
 
! ATIVO  
 
! ATIVO  
 
|-
 
|-
|  CÓDIGO SEQUENCIAL ||  DESCRIÇÃO DO LISTENER || ORDEM DE APLICAÇÃO || SE ESTÁ ATIVO OU NÃO.
+
|  CÓDIGO SEQUENCIAL ||  DESCRIÇÃO DA FUNÇÃO || ORDEM DE APLICAÇÃO || SE ESTÁ ATIVO OU NÃO.
 
|}
 
|}
  
* O campo ORDEM deve ser único, para não haver conflitos.
+
* O campo ORDEM deve ser único, para não haver conflitos na execução
* Todo listener de custo deve preencher o campo VL_CUSTO da tabela ITEM_PEDIDO
+
* Toda função de custo deve preencher o campo VL_CUSTO da tabela ITEM_PEDIDO
 +
* As funções não podem se repetir
 
* Para o cálculo do custo dos produtos da AGROSEMA será criado o listener TAXA_VENCIMENTO
 
* Para o cálculo do custo dos produtos da AGROSEMA será criado o listener TAXA_VENCIMENTO
 
* Para esse listener será aplicado o seguinte cálculo:
 
* Para esse listener será aplicado o seguinte cálculo:
 +
 +
Como exemplo iremos adotar as seguinte informações:
 +
 +
*Custo do produto Lorbson - '''R$400,00''' (Essa informação será cadastrada no ERP)
 +
*Vencimento: Data de Hoje - (Essa campo é o mesmo que foi criado na funcionalidade de Bloqueio por Prazo)
 +
*Taxa de Juros de (1,8% a.m) / 30 = Taxa de Juros a.d = '''0,06%'''. (Essa informação será cadastrada no ERP)
 +
  
 
{| class="wikitable"
 
{| class="wikitable"
Linha 67: Linha 63:
 
=== Regras de Negócio ===
 
=== Regras de Negócio ===
  
'''[RN2]''' – Criar o campo PR_JUROS na tabela PRODUTO para informar o juros de cada produto
+
'''[RN1]''' – Criar o campo PR_JUROS na tabela PRODUTO para informar o juros de cada produto
  
'''[RN3]''' – O campo VR_CUSTO na tabela PRODUTO_CUSTO deve ser preenchida com a informação do ERP que da Tabela '''DA1''' da coluna '''DA1_ZZCUST'''.
+
=== Integração ===
 +
'''[RN2]''' – O campo VR_CUSTO na tabela PRODUTO_CUSTO deve ser preenchida com a informação do ERP que da Tabela '''DA1''' da coluna '''DA1_ZZCUST'''.
  
'''[RN4]''' – O campo PR_JUROS na tabela PRODUTO deve ser preenchida com a informação do ERP que da Tabela '''SA3''' da coluna '''A3_ZZTXMES'''.
+
'''[RN3]''' – O campo PR_JUROS na tabela PRODUTO deve ser preenchida com a informação do ERP que da Tabela '''SA3''' da coluna '''A3_ZZTXMES'''.
  
 
=Cenários=
 
=Cenários=

Edição das 11h20min de 3 de fevereiro de 2017

Histórico de Revisões

Data Quem Comentários
02/02/2017 Inaldo França Criação do Documento

Necessidade

  • Fazer com que o sistema consiga ter variáveis para o cálculo do custo.

Solução

  • Fazer com que o cálculo do custo passe por uma lista de funções e aplicar a que estão ativas antes de aplicar o custo no campo VR_CUSTO da tabela ITEM_PEDIDO.

Implementação

  • Será criado uma tabela que o cálculo de custo irá percorrer para aplicar cada função ativa e na ordem para o cálculo do custo.

Estrutura da Tabela: APLICACAO_CUSTO

ID DS_FUNCAO ORDEM ATIVO
CÓDIGO SEQUENCIAL DESCRIÇÃO DA FUNÇÃO ORDEM DE APLICAÇÃO SE ESTÁ ATIVO OU NÃO.
  • O campo ORDEM deve ser único, para não haver conflitos na execução
  • Toda função de custo deve preencher o campo VL_CUSTO da tabela ITEM_PEDIDO
  • As funções não podem se repetir
  • Para o cálculo do custo dos produtos da AGROSEMA será criado o listener TAXA_VENCIMENTO
  • Para esse listener será aplicado o seguinte cálculo:

Como exemplo iremos adotar as seguinte informações:

  • Custo do produto Lorbson - R$400,00 (Essa informação será cadastrada no ERP)
  • Vencimento: Data de Hoje - (Essa campo é o mesmo que foi criado na funcionalidade de Bloqueio por Prazo)
  • Taxa de Juros de (1,8% a.m) / 30 = Taxa de Juros a.d = 0,06%. (Essa informação será cadastrada no ERP)


ONDE
DIAS (VENCIMENTO - DATA ATUAL), Resultado deve ser em número de dias
VR_CUSTO Custo do produto da tabela PRODUTO_CUSTO
PR_JUROS Percentual de Juros do dia de Cada produto
Custo do Produto = VR_CUSTO + (VR_CUSTO * (DIAS * PR_JUROS))
                             
  400 + (400*(0*0,06%)) = R$400,00
  • O resultado desse calculo será inserido no campo VR_CUSTO da tabela ITEM_PEDIDO e será utilizado no cálculo da Margem.


Regras de Negócio

[RN1] – Criar o campo PR_JUROS na tabela PRODUTO para informar o juros de cada produto

Integração

[RN2] – O campo VR_CUSTO na tabela PRODUTO_CUSTO deve ser preenchida com a informação do ERP que da Tabela DA1 da coluna DA1_ZZCUST.

[RN3] – O campo PR_JUROS na tabela PRODUTO deve ser preenchida com a informação do ERP que da Tabela SA3 da coluna A3_ZZTXMES.

Cenários

Dados

  • Custo do Produto = 400,00
  • Vencimento= 15/02/2017
  • Data Atual= 02/02/2017
  • Taxa de Juros= 0,06%

Operação

  • Inserir um item no pedido de venda.

Assertivas

  • O sistema preencherá o campo VR_CUSTO na tabela ITEM_PEDIDO com o valor de 403,12
Cálculo Realizado:

   400 + (400 * (13*0,06%)) = 403,12