LevelOS-Core/UI/Dashboards/Cadastros/FluxoCaixaCadastroPanel.cs
levelcode365 ae72c2768e 25/04/2026 - implementa formulários de cadastro para o ecossistema LevelOS
- Adicionado ContratoEquipamentosCadastroPanel
- Adicionado ConfigBoletosCadastroPanel (Gestão de convênios)
- Adicionado ConfigCartoesCadastroPanel (Taxas e operadoras)
- Adicionado ConfigImpressaoCadastroPanel (Coordenadas X/Y)
- Adicionado DespesasCadastroPanel e DespFixaCadastroPanel
- Adicionado ConfigEcfCadastroPanel (Hardware Fiscal)
- Adicionado EmpresaCadastroPanel (Emitente e Web3/Crypto)
- Adicionado EquipamentosCadastroPanel (Ativos e Garantia)
- Adicionado EsquemasTecnicosCadastroPanel (Biblioteca de Manuais)
- Adicionado FluxoCaixaCadastroPanel (Tesouraria)
- Adicionado FornecedorItemVinculoPanel (Logística de Suprimentos)

Padronização de interface utilizando FormularioModelo e LV_TEXTBOX1."
2026-04-25 17:48:04 -03:00

129 lines
4.6 KiB
C#

using CPM;
using MLL;
using System;
using System.Drawing;
using System.Windows.Forms;
using UI;
namespace UI
{
public partial class FluxoCaixaCadastroPanel : FormularioModelo
{
private ModeloFcaixa _fluxo = new ModeloFcaixa();
// Controles - Identificação e Data
private LV_TEXTBOX1 txtId, txtCodigo, txtDia;
// Controles - Classificação
private LV_TEXTBOX1 txtPlanoContas, txtCodConta, txtFormaPgto;
private Button btnBuscaPlano;
// Controles - Valores
private LV_TEXTBOX1 txtReceita, txtDespesa;
// Controles - Notas
private LV_TEXTBOX1 txtObs;
public FluxoCaixaCadastroPanel()
{
this.Titulo = "Lançamento de Fluxo de Caixa";
MontarInterface();
}
private void MontarInterface()
{
// --- SEÇÃO 1: Identificação do Lançamento ---
content.Controls.Add(CreateSectionHeader("DADOS DO MOVIMENTO", 20));
txtId = AddInput(content, "ID", 20, 50, 70, 30, true);
txtCodigo = AddInput(content, "Nº DOC/CONTROLE", 100, 50, 150, 30);
txtDia = AddInput(content, "DATA DO MOVIMENTO", 260, 50, 150, 30);
// --- SEÇÃO 2: Classificação Financeira ---
content.Controls.Add(CreateSectionHeader("CLASSIFICAÇÃO E CONTA", 110));
// Plano de Contas (Ex: Vendas de Mercadorias, Aluguel, etc.)
txtPlanoContas = AddInput(content, "PLANO DE CONTAS / CATEGORIA", 20, 140, 300, 30);
btnBuscaPlano = CriarBotaoLupa(325, 156, OnBuscaPlano);
// Conta Bancária / Caixa de Origem (Vinculado ao ModeloContasContas)
txtCodConta = AddInput(content, "CÓD. CONTA/CAIXA", 370, 140, 150, 30);
// Forma de Movimentação (Ex: Dinheiro, Pix, TED)
txtFormaPgto = AddInput(content, "FORMA DE MOVIMENTAÇÃO", 530, 140, 200, 30);
// --- SEÇÃO 3: Valores (Lado a Lado) ---
content.Controls.Add(CreateSectionHeader("VALORES DO LANÇAMENTO", 200));
txtReceita = AddInput(content, "VALOR ENTRADA (R$)", 20, 230, 200, 30);
txtReceita.BackColor = Color.FromArgb(230, 255, 230); // Tom esverdeado para entrada
txtDespesa = AddInput(content, "VALOR SAÍDA (R$)", 240, 230, 200, 30);
txtDespesa.BackColor = Color.FromArgb(255, 230, 230); // Tom avermelhado para saída
// --- SEÇÃO 4: Observações ---
content.Controls.Add(CreateSectionHeader("HISTÓRICO / OBSERVAÇÕES", 295));
txtObs = AddInput(content, "DETALHAMENTO DO LANÇAMENTO", 20, 325, 710, 60);
content.Height = 420;
}
private Button CriarBotaoLupa(int x, int y, EventHandler clickEvent)
{
var btn = new Button
{
Text = "🔍",
Location = new Point(x, y),
Size = new Size(32, 30),
BackColor = AccentBlue,
ForeColor = Color.White,
FlatStyle = FlatStyle.Flat,
Cursor = Cursors.Hand
};
btn.FlatAppearance.BorderSize = 0;
btn.Click += clickEvent;
content.Controls.Add(btn);
return btn;
}
private void OnBuscaPlano(object sender, EventArgs e) => MessageBox.Show("Busca de Plano de Contas");
private void PreencherModel()
{
_fluxo.CODIGO = txtCodigo.Text;
_fluxo.DIA = txtDia.Text;
_fluxo.RECEITA = txtReceita.Text;
_fluxo.DESPESA = txtDespesa.Text;
_fluxo.PLANO_CONTAS = txtPlanoContas.Text;
_fluxo.COD_CONTA = txtCodConta.Text;
_fluxo.FORMA = txtFormaPgto.Text;
_fluxo.OBS = txtObs.Text;
}
protected override void OnNovo()
{
_fluxo = new ModeloFcaixa();
txtDia.Text = DateTime.Now.ToString("dd/MM/yyyy");
txtCodigo.Focus();
}
protected override void OnSalvar()
{
try
{
PreencherModel();
// BLL.Salvar(_fluxo);
MessageBox.Show("Movimentação de caixa registrada!", "Sucesso", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
MessageBox.Show("Erro: " + ex.Message);
}
}
protected override void OnAlterar() { }
protected override void OnExcluir() { }
protected override void OnLocalizar() { }
protected override void OnCancelar() { OnNovo(); }
}
}