Class CalculoConsumoAdiantamento
java.lang.Object
systextil.contasareceber.consumoadiantamento.CalculoConsumoAdiantamento
Cálculo do consumo automático do adiantamento de cliente pelos títulos de uma NF.
Só cálculo: não lê nem grava nada. Recebe os títulos e os adiantamentos já lidos e devolve as baixas a executar. O adiantamento mais antigo paga o título de vencimento mais próximo (FIFO); a sobra dentro da tolerância vira desconto (falta) ou juros (excedente) na última baixa.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordstatic final recordstatic final recordItem ativo do pedido de venda (PEDI_110).static final recordTítulo da NF.static final recordtipo: 0 = valor, 1 = percentual sobre o saldo dos títulos da NF. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final int -
Method Summary
Modifier and TypeMethodDescriptionstatic <K> List<CalculoConsumoAdiantamento.Baixa<K>> calcular(List<CalculoConsumoAdiantamento.Titulo<K>> titulos, List<CalculoConsumoAdiantamento.Adiantamento> adiantamentos, CalculoConsumoAdiantamento.Tolerancia tolerancia) As baixas da NF, na ordem em que devem ser executadas.static booleanehAVista(int qtdeParcelasAVista, int qtdeParcelas, int controleBloqPedAVista) Mesma regra de "à vista" da análise do motivo 78 (SituacaoAnalise78, systextil-function): com controle 0, a condição tem uma parcela só e ela é à vista; com controle 1, basta uma parcela à vista.static BigDecimallimite(CalculoConsumoAdiantamento.Tolerancia tolerancia, BigDecimal base, boolean falta) Limite da tolerância em valor.pedidosFaturadoTotal(List<CalculoConsumoAdiantamento.ItemPedido> itensAtivos) Pedidos faturados total, pelo critério que opedi_f210usa para gravar a situação 10 (pedi_f210.java, "tem_itens_em_aberto"/"tem_itens_fat_total"): nenhum item ativo em aberto e pelo menos um item faturado total.
-
Field Details
-
TOLERANCIA_VALOR
public static final int TOLERANCIA_VALOR- See Also:
-
TOLERANCIA_PERCENTUAL
public static final int TOLERANCIA_PERCENTUAL- See Also:
-
-
Method Details
-
limite
public static BigDecimal limite(CalculoConsumoAdiantamento.Tolerancia tolerancia, BigDecimal base, boolean falta) Limite da tolerância em valor.Mesma conta do limite de falta da análise do motivo 78 (
ValidacaoSaldoSolicitacao, systextil-function). Alterar as duas juntas.- Parameters:
base- soma do saldo dos títulos da NF antes do consumo (usada só no tipo percentual)falta-truepara o limite de falta,falsepara o de excedente
-
ehAVista
public static boolean ehAVista(int qtdeParcelasAVista, int qtdeParcelas, int controleBloqPedAVista) Mesma regra de "à vista" da análise do motivo 78 (SituacaoAnalise78, systextil-function): com controle 0, a condição tem uma parcela só e ela é à vista; com controle 1, basta uma parcela à vista. Alterar as duas juntas.- Parameters:
controleBloqPedAVista-FATU_501.CONTROLE_BLOQ_PED_A_VISTA
-
pedidosFaturadoTotal
public static Set<Integer> pedidosFaturadoTotal(List<CalculoConsumoAdiantamento.ItemPedido> itensAtivos) Pedidos faturados total, pelo critério que opedi_f210usa para gravar a situação 10 (pedi_f210.java, "tem_itens_em_aberto"/"tem_itens_fat_total"): nenhum item ativo em aberto e pelo menos um item faturado total. O cálculo do faturamento não grava a situação 10 na capa, por isso a regra é lida dos itens. Alterar as duas juntas.- Parameters:
itensAtivos- itens comCOD_CANCELAMENTO = 0
-
calcular
public static <K> List<CalculoConsumoAdiantamento.Baixa<K>> calcular(List<CalculoConsumoAdiantamento.Titulo<K>> titulos, List<CalculoConsumoAdiantamento.Adiantamento> adiantamentos, CalculoConsumoAdiantamento.Tolerancia tolerancia) As baixas da NF, na ordem em que devem ser executadas. Lista vazia = nada a consumir.
-