130 lines
4.7 KiB
C#
130 lines
4.7 KiB
C#
using CPM;
|
|
using MLL;
|
|
using System;
|
|
using System.Drawing;
|
|
using System.Windows.Forms;
|
|
using UI;
|
|
|
|
namespace UI
|
|
{
|
|
public partial class ItensSaidaCadastroPanel : FormularioModelo
|
|
{
|
|
private ModeloItensSaida _saida = new ModeloItensSaida();
|
|
|
|
// Controles - Identificação e Item
|
|
private LV_TEXTBOX1 txtId, txtCodigo, txtCodItem, txtDescricaoItem;
|
|
private Button btnBuscaItem;
|
|
|
|
// Controles - Quantidade e Responsável
|
|
private LV_TEXTBOX1 txtQtdSai, txtDataSaida, txtFuncionario;
|
|
|
|
// Controles - Origem e Documentação (OS, OP, OV, NOTA)
|
|
private LV_TEXTBOX1 txtOs, txtOp, txtOv, txtNota, txtNatureza;
|
|
|
|
// Controles - Notas
|
|
private LV_TEXTBOX1 txtObs;
|
|
|
|
public ItensSaidaCadastroPanel()
|
|
{
|
|
this.Titulo = "Lançamento de Saída / Baixa de Estoque";
|
|
MontarInterface();
|
|
}
|
|
|
|
private void MontarInterface()
|
|
{
|
|
// --- SEÇÃO 1: Item Selecionado ---
|
|
content.Controls.Add(CreateSectionHeader("IDENTIFICAÇÃO DO PRODUTO", 20));
|
|
|
|
txtId = AddInput(content, "ID", 20, 50, 70, 30, true);
|
|
txtCodigo = AddInput(content, "CÓD. MOV.", 100, 50, 110, 30);
|
|
|
|
txtCodItem = AddInput(content, "CÓD. ITEM", 220, 50, 100, 30);
|
|
btnBuscaItem = CriarBotaoLupa(325, 66, OnBuscaItem);
|
|
txtDescricaoItem = AddInput(content, "DESCRIÇÃO DO PRODUTO", 365, 50, 470, 30, true);
|
|
|
|
// --- SEÇÃO 2: Dados da Movimentação ---
|
|
content.Controls.Add(CreateSectionHeader("DADOS DA BAIXA", 115));
|
|
|
|
txtQtdSai = AddInput(content, "QTD. SAÍDA", 20, 145, 130, 30);
|
|
txtQtdSai.BackColor = Color.FromArgb(255, 240, 240); // Tom avermelhado para indicar saída/baixa
|
|
|
|
txtDataSaida = AddInput(content, "DATA SAÍDA", 160, 145, 130, 30);
|
|
txtFuncionario = AddInput(content, "RESPONSÁVEL PELA BAIXA", 300, 145, 330, 30);
|
|
txtNatureza = AddInput(content, "NATUREZA (EX: VENDA/AVARIA)", 640, 145, 195, 30);
|
|
|
|
// --- SEÇÃO 3: Vínculos e Documentos (OS, OP, OV, NOTA) ---
|
|
content.Controls.Add(CreateSectionHeader("DOCUMENTOS DE ORIGEM", 210));
|
|
|
|
txtOs = AddInput(content, "ORDEM SERV. (OS)", 20, 240, 150, 30);
|
|
txtOp = AddInput(content, "ORDEM PROD. (OP)", 180, 240, 150, 30);
|
|
txtOv = AddInput(content, "ORDEM VENDA (OV)", 340, 240, 150, 30);
|
|
txtNota = AddInput(content, "NOTA FISCAL", 500, 240, 180, 30);
|
|
|
|
// --- SEÇÃO 4: Observações ---
|
|
content.Controls.Add(CreateSectionHeader("OBSERVAÇÕES GERAIS", 305));
|
|
txtObs = AddInput(content, "MOTIVO DETALHADO DA SAÍDA", 20, 335, 815, 60);
|
|
|
|
content.Height = 430;
|
|
}
|
|
|
|
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 OnBuscaItem(object sender, EventArgs e) => MessageBox.Show("Busca de Itens");
|
|
|
|
private void PreencherModel()
|
|
{
|
|
_saida.CODIGO = txtCodigo.Text;
|
|
_saida.COD_ITEM = txtCodItem.Text;
|
|
_saida.QTD_SAI = txtQtdSai.Text;
|
|
_saida.FUNCIONARIO = txtFuncionario.Text;
|
|
_saida.NOTA = txtNota.Text;
|
|
_saida.OS = txtOs.Text;
|
|
_saida.OP = txtOp.Text;
|
|
_saida.OBSERVACAO = txtObs.Text;
|
|
_saida.DATA_SAIDA = txtDataSaida.Text;
|
|
_saida.NATUREZA = txtNatureza.Text;
|
|
_saida.OV = txtOv.Text;
|
|
}
|
|
|
|
protected override void OnNovo()
|
|
{
|
|
_saida = new ModeloItensSaida();
|
|
txtDataSaida.Text = DateTime.Now.ToString("dd/MM/yyyy");
|
|
txtCodItem.Focus();
|
|
}
|
|
|
|
protected override void OnSalvar()
|
|
{
|
|
try
|
|
{
|
|
PreencherModel();
|
|
MessageBox.Show("Baixa de estoque registrada!", "Sucesso", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show("Erro ao salvar: " + ex.Message);
|
|
}
|
|
}
|
|
|
|
protected override void OnAlterar() { }
|
|
protected override void OnExcluir() { }
|
|
protected override void OnLocalizar() { }
|
|
protected override void OnCancelar() { OnNovo(); }
|
|
}
|
|
} |