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.