Mudanças entre as edições de "Cálculo do Custo"
Linha 15: | Linha 15: | ||
=Implementação= | =Implementação= | ||
+ | |||
+ | 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''' | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! ID | ||
+ | ! DS_LISTENER | ||
+ | ! ORDEM | ||
+ | ! ATIVO | ||
+ | |- | ||
+ | | CÓDIGO SEQUENCIAL || DESCRIÇÃO DO LISTENER || ORDEM DE APLICAÇÃO || SE ESTÁ ATIVO OU NÃO. | ||
+ | |} | ||
+ | |||
+ | * O campo ORDEM deve ser único, para não haver conflitos. | ||
+ | * Todo listener de custo deve preencher o campo VL_CUSTO da tabela ITEM_PEDIDO | ||
+ | * 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: | ||
+ | |||
+ | {| class="wikitable" | ||
+ | !colspan="4"| 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]''' – Se a MARGEM GERAL for menor que a margem definida por vendedor a mensagem que será exibida será: '''“Pedido bloqueado. Motivo: Margem do pedido abaixo do permitido.”''' | ||
+ | |||
+ | '''[RN2]''' – Criar o campo PR_JUROS na tabela PRODUTO para informar o juros de cada produto | ||
+ | |||
+ | |||
+ | === Integração === | ||
+ | |||
+ | No momento da integração os campos e tabelas abaixo devem ser preenchidos, conforme descrito: | ||
+ | |||
+ | |||
+ | '''[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'''. | ||
+ | |||
+ | '''[RN8]''' – 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 14h47min de 2 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
- Será criado uma estrutura para listar funções (listeners) com a ordem que o sistema irá aplicar, essas funções terão cálculos específicos para preenchimento do campo VR_CUSTO da tabela ITEM_PEDIDO.
Implementação
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
ID | DS_LISTENER | ORDEM | ATIVO |
---|---|---|---|
CÓDIGO SEQUENCIAL | DESCRIÇÃO DO LISTENER | ORDEM DE APLICAÇÃO | SE ESTÁ ATIVO OU NÃO. |
- O campo ORDEM deve ser único, para não haver conflitos.
- Todo listener de custo deve preencher o campo VL_CUSTO da tabela ITEM_PEDIDO
- 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:
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] – Se a MARGEM GERAL for menor que a margem definida por vendedor a mensagem que será exibida será: “Pedido bloqueado. Motivo: Margem do pedido abaixo do permitido.”
[RN2] – Criar o campo PR_JUROS na tabela PRODUTO para informar o juros de cada produto
Integração
No momento da integração os campos e tabelas abaixo devem ser preenchidos, conforme descrito:
[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.
[RN8] – O campo PR_JUROS na tabela PRODUTO deve ser preenchida com a informação do ERP que da Tabela SA3 da coluna A3_ZZTXMES.