LevelOS-Core/DAL/Docs/DALITENSLOTES_DESCRICAO.md

200 lines
4.7 KiB
Markdown

//Parte 8.1 -> Concluída
// CRUD (Create, Read, Update e Delete)
//
// Responsável pelas operações básicas da tabela Itens_Lotes.
// Implementa inserção, alteração, exclusão, carregamento,
// verificação de existência e preenchimento do modelo.
//
// Métodos:
// - Inserir()
// - Alterar()
// - Excluir()
// - Carregar()
// - CarregarPorCodigo()
// - CarregarPorLote()
// - ExisteCodigo()
// - ExisteLote()
// - PreencherModelo()
// - PreencherParametros()
//Parte 8.2 -> Concluída
// Pesquisas e Filtros
//
// Responsável pelas consultas avançadas do módulo,
// permitindo localizar lotes por diversos critérios.
//
// Métodos:
// - Listar()
// - ListarPorProduto()
// - ListarPorFornecedor()
// - ListarPorNF()
// - ListarPorLote()
// - ListarAtivos()
// - ListarInativos()
// - ListarVencidos()
// - ListarAVencer()
// - ListarPorPeriodoValidade()
// - ListarPorPeriodoFabricacao()
//Parte 8.3 -> Concluída
// Controle de Estoque
//
// Responsável pelas movimentações de estoque dos lotes,
// incluindo entradas, saídas, transferências e ajustes.
//
// Métodos:
// - Entrada()
// - Saida()
// - SomarQuantidade()
// - BaixarQuantidade()
// - AjustarQuantidade()
// - TransferirQuantidade()
// - SaldoLote()
// - SaldoProduto()
// - ExisteSaldo()
// - ZerarLote()
//Parte 8.4 -> Concluída
// Controle de Validade
//
// Responsável pela gestão das datas de validade dos lotes,
// identificação de produtos vencidos e monitoramento de risco.
//
// Métodos:
// - LotesVencidos()
// - LotesAVencer()
// - LotesValidos()
// - LotesSemValidade()
// - DiasParaVencer()
// - DiasVencido()
// - PrimeiroVencimento()
// - UltimoVencimento()
// - ExisteLoteVencido()
// - ExisteLoteAVencer()
// - QuantidadeVencida()
// - QuantidadeAVencer()
// - QuantidadeValida()
//Parte 8.5 -> Concluída
// FEFO / FIFO
//
// Responsável pela seleção automática do melhor lote para
// venda e reserva de estoque.
//
// Métodos:
// - ObterFEFO()
// - ObterFIFO()
// - ReservarLote()
// - LiberarLote()
// - ConsumirReserva()
// - MelhorLote()
// - QuantidadeDisponivel()
// - QuantidadeReservada()
// - PodeAtenderVenda()
//Parte 8.6 -> Concluída
// Dashboard
//
// Responsável pelos indicadores e métricas utilizadas em
// dashboards, telas gerenciais e painéis do sistema.
//
// Indicadores:
// - QuantidadeLotes()
// - QuantidadeProdutos()
// - QuantidadeLotesAtivos()
// - QuantidadeLotesInativos()
// - QuantidadeVencidos()
// - QuantidadeAVencer()
// - QuantidadeSemValidade()
// - QuantidadeTotalEstoque()
// - QuantidadeDisponivelEstoque()
// - QuantidadeReservadaEstoque()
// - MaiorQuantidade()
// - MenorQuantidade()
// - QuantidadeMedia()
// - PercentualReservado()
// - PercentualDisponivel()
//Parte 8.7 -> Concluída
// Estatísticas
//
// Responsável pela geração de estatísticas avançadas para
// análise de comportamento dos lotes.
//
// Estatísticas:
// - ProdutoComMaisLotes()
// - ProdutoComMenosLotes()
// - FornecedorComMaisLotes()
// - FornecedorComMenosLotes()
// - MediaQuantidadeLote()
// - MediaDiasValidade()
// - ProdutosSemLote()
// - LotesSemMovimento()
// - LotesComEstoqueZero()
// - LotesComEstoquePositivo()
// - QuantidadeMediaPorProduto()
// - QuantidadeProdutosComMaisDeUmLote()
//Parte 8.8 -> Concluída
// Relatórios
//
// Responsável pela geração de DataTables para impressão,
// exportação e visualização em grids.
//
// Relatórios:
// - ListarTodos()
// - RelatorioPorProduto()
// - RelatorioPorFornecedor()
// - RelatorioVencidos()
// - RelatorioAVencer()
// - RelatorioSemValidade()
// - RelatorioEstoqueZero()
// - RelatorioAtivos()
// - RelatorioInativos()
// - RelatorioComReserva()
// - RelatorioSemSaldo()
// - RelatorioDisponiveis()
//Parte 8.9 -> Concluída
// Integração
//
// Responsável pela sincronização do módulo de lotes com
// os demais módulos do ERP.
//
// Integrações:
// - AtualizarSaldoItem()
// - AtualizarUltimaCompra()
// - AtualizarFornecedorPrincipal()
// - AtualizarValidadeProduto()
// - RecalcularEstoqueProduto()
//
// Módulos Integrados:
// - Itens
// - Compras
// - Vendas
// - Estoque
// - Movimentações
//Parte 8.10 -> Concluída
// Inteligência
//
// Responsável pela camada de inteligência do módulo,
// oferecendo sugestões, análises e automações.
//
// Recursos:
// - MelhorLoteVenda()
// - SugestaoReposicao()
// - CapitalParado()
// - CapitalVencido()
// - CapitalAVencer()
// - ProdutosCriticos()
// - LotesPrioritarios()
// - ExisteRiscoPerda()
// - SugestaoCompra()
// - PossuiLotes()
//
// Esta camada utiliza todas as demais partes da DAL para
// fornecer recursos avançados de tomada de decisão,
// tornando o módulo Itens_Lotes comparável aos controles
// de rastreabilidade presentes em ERPs de médio e grande porte.