Beruflich Dokumente
Kultur Dokumente
Controle de Estoque
AlphaCE
So Paulo / SP
2012
Controle de Estoque
AlphaCE
Professor Orientador
Joo Carlos Lima e Silva
So Paulo / SP
2012
2
Controle de Estoque
AlphaCE
So Paulo,
de
de 2012.
Banca Examinadora
Prof.
Prof.
Prof.
Prof.
Orientador
RESUMO
Controle de estoque o procedimento adotado para registrar, fiscalizar e
gerir a entrada e sada de mercadorias e produtos da empresa. O Controle de
estoque deve ser utilizado tanto para matria-prima, mercadorias produzidas e/ou
mercadorias vendidas.
Projeto sobre a elaborao de um sistema de controle de estoque, onde
procuramos inovar perante o programa que utilizado em uma microempresa de
informtica.
Essa microempresa de informtica atende a vendas de peas e
computadores em geral e tambm, manuteno. Para controle de estoque utilizam
um programa que tem uma falha importante, no controla a baixa de estoque. Faz
- se a venda ou manuteno e quando finalizado no sistema, o mesmo no baixa do
estoque.
Em vista dessa questo, conclumos que seria interessante um sistema que
fizesse a baixa em estoque. Mas, junto viriam outras opes como entrada de nota,
relatrios e assim, um sistema completo.
Levamos em considerao o modelo de negcio dessa microempresa para
atender a demanda e atender as expectativas.
Palavras-chave: Controle de estoque; Modelagem controle de estoque;
Funo do controle de estoque;
Sumrio
INTRODUO...........................................................................................................09
1 - A EMPRESA.........................................................................................................11
1.1 - ESTRUTURA E FUNCIONAMENTO.................................................................11
1.2 - APLICAO ATUAL.........................................................................................11
1.3 ATUAL ESTRUTURA DE CONTROLE............................................................11
2 - FUNCIONAMENTO DE CONTROLE DE ESTOQUE...........................................13
2.1 FUNO DO CONTROLE DE ESTOQUE.......................................................13
2.2 OBJETIVO DO CONTROLE DE ESTOQUE....................................................13
2.3 POLTICA DE ESTOQUE.................................................................................14
2.4 PRINCPIOS BSICOS PARA O CONTROLE DE ESTOQUES.....................14
3 - LEVANTAMENTO DE REQUISITOS...................................................................16
3.1 CRONOGRAMA................................................................................................16
3.2 DECLARAO DE ESCOPO...........................................................................20
3.3 WBS..................................................................................................................23
4 MODELAGEM LGICA.......................................................................................24
4.1 DIAGRAMA DE CASO DE USO.......................................................................24
4.2 DIAGRAMA DE CLASSE.................................................................................25
4.3 MER MODELO DE ENTIDADE E RELACIONAMENTO..............................26
5. DESENVOLVIMENTO DA APLICAO............................................................27
5.1 - SCRIPT DO BANCO DE DADOS.....................................................................28
5.2 TELAS DO PROGRAMA ALPHACE................................................................34
5.2.1.1 TELA DE LOGIN.........................................................................................34
5.2.1.2 CDIGOS DA TELA DE LOGIN ................................................................35
5.2.2.1 TELA DE ALTERAO DE SENHA..........................................................37
5.2.2.2 CDIGOS DA TELA DE ALTERAOD E SENHA..................................37
5.2.3.1 TELA DE SERVIOS(MENU PRINCIPAL)................................................39
5.2.3.2 CDIGOS DA TELA DE SERVIOS(MENU PRINCIPAL)........................39
5.2.4.1 TELA DE CADASTRO DE GERAL............................................................41
5.2.4.2 CDIGOS DA TELA DE CADASTRO GERAL..........................................41
5.2.5.1 TELA DE CARGO.......................................................................................42
5.2.5.2 CDIGOS DA TELA DE CARGO...............................................................42
5.2.6.1 TELA DE SERVIOS..................................................................................44
Introduo
O percentual de pequenas e micro empresa informatizadas no estado de So
Paulo cresceu 30% nos ltimos cinco anos, porm, 53% dessas empresas ainda
no se adaptaram ao computador, contra as 47% informatizadas. Os dados so de
uma pesquisa divulgada pelo SEBRAE/SP, realizada no ano de 2003, com
1.163
empresas paulistas. Como mostra grfico abaixo:
que
micropequenas
empresas
tenham
suas
particularidades
em
administrao por ter porte dos mais variados, sendo que, na microempresa
de
pequeno porte, o empresrio tem que ter um conhecimento para poder administrar
bem o negcio. Uma das formas de se manter essa microempresa funcional ter
um sistema de gesto que ajude a manter o fluxo, por exemplo, de entradas, sadas
e vendas.
1. A Empresa
A empresa atua no ramo de informtica desde 1997, foi idealizada por um
tcnico descontente com a empresa onde trabalhava.
Resolveu assim fundar a micro empresa de informtica onde h 16 anos,
presta os servios de manuteno em micros, monitores, impressoras, notebook e
conta tambm com venda direta no balco de vrios produtos sendo eles, por
exemplo, placas de rede, placa me, teclado, mouse, entre outros itens.
1.1
Estrutura e Funcionamento
1.2
Aplicao Atual
1.3
Foi detectada uma falha durante o ano de 2005 no controle de sada de peas
do estoque. A empresa desenvolvedora do software foi contatada, no houve
retorno e, por consequncia, at a presente data no foi solucionado o problema,
Um exemplo do problema encontrado pela empresa quando um cliente
deixa um microcomputador para manuteno e o tcnico da empresa verifica
que tem que haver a troca de uma pea.
gerada a ordem de servio, posteriormente o tcnico faz o conserto e a
recepcionista fecha a ordem de servio. gerado o boleto para pagamento.
ser
utilizado
tanto
para
matria-prima,
mercadorias
2.2
2.3
Polticas de Estoque
As
definies
das
polticas
so
muito
importantes
ao
bom
2.4
3. Levantamento de Requisitos
Neste captulo objetivamos mostrar o que fizemos para nos
organizar utilizando o cronograma, WBS e escopo.
3.1 Cronograma
Neste captulo temos como objetivo mostrar como foram as reunies sobre o
tcc.
Agosto/11
Reunies para definio do grupo;
Funes de cada integrante;
Escolha do tema;
Custo do trabalho;
Inicio do desenvolvimento do trabalho;
Tema j definido;
Reunies agendadas com o nosso orientador Ismael;
Todos integrantes devero comparecer as reunies.
Setembro/11
Mais reunies com orientador;
Encontro do grupo para fechar os trabalhos de agosto sem
alterao; Avaliao do orientar do trabalho e tema feito ate
setembro;
Pesquisa de campo;
Inicio das pesquisas cientificas e de dados;
Finalizar as pesquisas cientifica e de dados;
Agendamento de outra reunio.
Outubro/11
Inicio da parte pratica do programa;
Criao das tabelas;
Criao dos diagramas;
Avaliao do orientador; Melhorar
tabelas ps-avaliao; Melhorar
diagramas ps-avaliao;
Finalizar o desenvolvimento da UML e DER;
19
Objetivos,
problemas a
resolver
Posicionamento
estratgico
Descrio do
produto
(briefing)
Principal
diferencial a ser
explorado
Subprodutos e
servios
adicionais
Caractersticas
especiais do
produto para o
cliente final
Produtos do
projeto
- Construo da ideia
- Definio do tema
- Definio de tarefas
- Comeo de esboo das opes do sistema
- Desenho dos diagramas
- Dirio de bordo e tcc
- Utilizando Mysql e Visual Studio 2010
- Telas e Banco de dados
- Testes e Correes
- Finalizando processos
- Apresentao
Comunicao
para o projeto
Mudanas
estruturais
necessrias (na
organizao, no
ambiente de
publicao)
20
Aquisies
necessrias
Premissas,
ressalvas,
observaes
Mtodos para
verificar os
resultados
Reviso deste
plano de projeto Revisado 12/06/2012
Final da arquit.
da informao
Junho/2012
Lanamento da
verso beta
Lanamento do
produto
21
Controle de Estoque
Alphatec
Controle Estoque
Funcionando
Desenvolvimento
Projeto
Relatrio/
Apresentao TCC
Testes de
Sistema
WBS e
Cronograma
Distribuio das
Tarefas
Visual do Banco
de Dados
(Visual Studio)
Escopo do
Projeto
Planejamento
Banco Dados
(MySQL)
Diagrama de
Classes
e Caso de Uso
Discusso Tema
Script do Banco
de Dados
DER/MER
Inicio do
Projeto
22
4. Modelagem Lgica
A finalidade deste captulo demonstrar a interao que queremos que o
sistema tenha entre o cliente e a empresa/funcionrio e assim, determinar a
interao entre eles.
4.1 Diagramas de Caso de Uso
No capitulo mostramos a interao sistema / cliente e determinar o
melhor para esse ciclo.
System
Tecnic
o
Consultar
Supervisionar func
Passar
oramento
Excluir
clientes
Conserta
r
Fechar OS
Abrir o caixa
Cadastro de clientes
Cadastro de equip
Registrar entrada equip.
Atendent
e
Receber pagamento
Fechar o caixa
Excluir
equipamentos
Relatorio
Gerente
Parte 2
25
4.3
Telefone
Contato
Fornecedor
Entrega
Produto
N
N
Recibo
1
1
Localizao
Contato
1
Contato
Confirmao
Pagamento
Quantidade
Item_venda
1
Local
Endereo
Cliente
Pagamento
1
Produto
Tipo
Pagamento
Venda
Localizao
1
N
1
Funcionrio
Prestao
Servio
1
Emisso
Comprovante
Escolha
Pagamento
Escolha
Pagamento
N
Ocupao
Escolha
Pagamento
N
Dependente
Ordem de Servio
N
Boleto
Carto
1
N
Servio
Cargo
Filhos
Cheque
Equipamento
26
5. Desenvolvimento da aplicao
O sistema ter diversas opes de funcionamento, mas dentre todas essas
opes, o maior objetivo da nossa criao desse trabalho fazer o controle de
estoque para uma micro empresa, e conforme a dificuldade encontrada na empresa
do nosso levantamento de dados, registrar as baixas na sada de um produto ou na
emisso de uma ordem de servio, ter um controle de estoque.
O sistema ter todos os itens e produtos oferecidos por essa empresa
cadastrados.
Os usurios devero fazer um cadastro, onde ser criado um login e senha e
a partir da, ter acesso ao sistema. Senha de uso pessoal.
Os clientes sero cadastrados onde ser criado um banco de dados para um
melhor controle e auxilio na administrao dessa empresa e criar um histrico.
Assim, haver uma maior proximidade com os clientes sabendo informaes e
facilitando o contato com eles.
Esse sistema ter como parte integrada do controle do estoque as vendas,
forma de pagamentos, cadastro pessoa fsica e jurdica, acesso restrito de usurio e
tendo um administrador do sistema, que far com que um usurio comum no faa
alteraes no sistema.
Ter emisses de ordem de servio quando for prestado um atendimento a
um cliente, com descrio do servio oferecido e prestado no caso de venda
descrio do produto vendido, horrio, data, nome do prestador do servio,
um cdigo da ordem de servio.
Oferecer, tambm, diversas formas de pagamento no sistema como:
dinheiro, cheque e carto. Forma de pagamento a ser escolhida pelo cliente.
E, o cliente com essa ordem em mos, quando for efetuar o pagamento, a
recepcionista poder usar o cdigo dessa ordem de servio para constatar os dados
e j emitir no prprio sistema as formas de pagamento desse cliente e finalizar a
prestao do servio, facilitando assim, uma melhor gesto administrativa da
contabilidade da empresa com dados mais precisos.
Isso se o cliente ou a empresa desejar ter separadamente as ordens de
servios, pois o sistema emitir, diretamente por um e-mail corporativo, um nmero
desse cdigo com os dados do cliente como nome, RG e telefone de contato para
que a recepcionista constate os dados e, assim, emitir no prprio sistema as
formas
31
32
Codequip int,
Foreign key (codos) references OS (codos),
Foreign key (codequip) References Equipamento (codequip));
Create Table Venda
(Codvenda int auto_increment primary key not null,
Qtde int (3),
Valorunitario decimal(0000.00),
Valortotal decimal (0000.00),
codproduto int,
Foreign key (codproduto) references produto (codproduto));
Create table Itemdevenda
(coditensvenda int auto_increment primary key not
null, Qtde int (4),
Codvenda int,
Foreign key (codvenda) references venda (codvenda));
Create Table ligacaofornprod
(codligfornprod int auto_increment primary key,
codfornecedor int,
codproduto int,
foreign key (codproduto) references produto (codproduto),
foreign key (codfornecedor) references fornecedor (codfornecedor));
Create table cheque
(codcheque int auto_increment primary key not
null, Numerocheque int,
Banco varchar (20),
Agencia int,
CC int,
Valor decimal (0000,00),
Vencimento date,
OBS varchar (200),
32
Codos int,
Codvenda int,
codcliente int,
Foreign key (codcliente) references cliente (codcliente),
Foreign key (codos) references os (codos),
Foreign key (codvenda) references venda (codvenda));
Create table boleto
(codboleto int auto_increment primary key not
null, Vencimento date,
OBS varchar (200),
Codos int,
Codvenda int,
codcliente int,
Foreign key (codcliente) references cliente (codcliente),
Foreign key (codos) references os (codos),
Foreign key (codvenda) references venda (codvenda));
Create table Cartao
(codcartao int auto_increment primary key not null,
Bandeira varchar (20),
tipo varchar (20),
Codos int,
Codvenda int,
codcliente int,
Foreign key (codcliente) references cliente (codcliente),
Foreign key (codos) references os (codos),
Foreign key (codvenda) references venda (codvenda));
Create table Pagamento
(codpag int auto_increment primary key not null,
Valorbruto decimal (0000,00),
Emdinheiro decimal (0000,00),
Qtdeparcela int,
Desconto numeric (5),
33
Totalareceber decimal(0000,00),
codcartao int,
codboleto int,
codcheque int,
foreign key (codcartao) references cartao (codcartao),
foreign key (codboleto) references boleto (codboleto),
foreign key (codcheque) references cheque
(codcheque));
Create table recibo
(codrecibo int auto_increment primary key not null,
Descricao varchar (500),
codpag int,
foreign key (codpag) references pagamento(codpag));
End If
Catch ex As Exception
MsgBox(ex.Message)
Finally
con.Close()
End Try
End Sub
Private Sub MaskedTextBox1_MaskInputRejected(ByVal sender As
System.Object, ByVal e As
System.Windows.Forms.MaskInputRejectedEventArgs) Handles
MaskedTextBox1.MaskInputRejected
Me.Focus()
End Sub
Private Sub Lnklabel_LinkClicked(ByVal sender As System.Object, ByVal e
As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles
Lnklabel.LinkClicked
Alterar_senha.Show()
End Sub
Private Sub Btn_cancelar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Btn_cancelar.Click
Close()
End Sub
Private Sub Form1_login_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
conexao()
cmd.CommandText = "select senha, login from
funcionario" reader = cmd.ExecuteReader()
If reader.Read() Then
lk_adm.Enabled = False
reader.Close()
con.Close()
Else
lk_adm.Enabled = True
End If
End Sub
Private Sub LinkLabel1_LinkClicked(ByVal sender As System.Object, ByVal e
As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles
lk_adm.LinkClicked
Limpo.Show()
cad_Cargo.Show()
MsgBox("Aps cadastrar um cargo, clique em voltar, clique no boto
Funcionarios e cadastre um funcionrio.", MsgBoxStyle.Information)
Me.Visible = False
End Sub
Private Sub MaskedTextBox2_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles MaskedTextBox2.KeyPress
If e.KeyChar = Chr(13) Then
Btn_ok_Click(Me, EventArgs.Empty)
End If
End Sub
Private Sub MaskedTextBox2_MaskInputRejected(ByVal sender As
System.Object, ByVal e As
System.Windows.Forms.MaskInputRejectedEventArgs) Handles
MaskedTextBox2.MaskInputRejected
End Sub
End Class
5.2.2.1 Tela de Alterao de Senha
Esta tela para o funcionrio trocar a senha de acesso.
Me.Close()
Form_login.Show()
End Sub
Private Sub btn_alterar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_alterar.Click
Dim reader As MySqlDataReader
Try ' trataviva de erro do banco e do formulrio
conexao() 'procedure de conexo e comando (cmd e con)
cmd.CommandType = System.Data.CommandType.Text
cmd.Connection = con 'variavel de conexo
'con.Open() 'abri a conexo com o banco de dados
cmd.CommandText = "select login, senha from funcionario where login like
'%" & Trim(TextBox1.Text) & "%'" 'Funo trim, remove os espaos iniciais e
finais. reader = cmd.ExecuteReader() 'comando para executar a reader
reader.Read() 'varivel reader para ler os dados selecionado na select
Nomelogin = reader("login")
Senhalogin = reader("senha")
reader.Close() 'fechando a reader
con.Close() 'fecha a conexo com o banco de dados
Catch ex As Exception
MsgBox("Usuario incorreto.", vbCritical)
TextBox1.Focus() 'funo focus, quando acontece algum erro o cursor
volta para o campo especificado.
End Try
If MaskedTextBox1.Text = Senhalogin Then 'condio para a alterao
de senha. A maskedtextbox tem de ser igual a variavel em questo.
Try
If MaskedTextBox2.Text = MaskedTextBox3.Text Then 'segunda
condio, a senha que estiver igual na primeira condio ir fazer estas instrues.
A nova
senha da MaskedTextBox2 tem de ser igual a MaskedTextBox3
If MsgBox("Deseja alterar sua senha?", vbYesNo, "confirmao") =
vbYes Then conexao() 'procedure de conexo e comando (cmd e con)
cmd.Connection = con
'con.Open() 'abri a conexo com o banco de dados
With cmd
.CommandType = CommandType.Text
.CommandText = "UPDATE funcionario SET senha = @senha
WHERE login = '" & Nomelogin & "'"
.Parameters.Add("@senha", MySqlDbType.VarChar)
.Parameters("@senha").Value = Trim(MaskedTextBox3.Text)
.ExecuteNonQuery()
End With
con.Close() 'fecha a conexo com o banco de dados
MsgBox("Senha alterada com sucesso.", vbInformation)
Me.Close()
'btn_cancelar.Focus() 'funo focus, aps efetuar a alterao o boto
cancelar fica selecionado.
Else
MsgBox("Alterao cancelada!", vbCritical)
TextBox1.Focus() 'funo focus, quando a alterao e cancelada o
cursor volta para a textbox4 (campo login).
End If
Else
MsgBox("Senha no confere!", vbCritical)
MaskedTextBox2.Focus() 'funo focus, quando a senha no confere
o cursor volta para o campo especificado (campo nova senha)
End If
Catch ex As Exception
MsgBox(ex.Message)
TextBox1.Focus() 'quando acontece algum erro o cursor volta para
a textbox4 (campo login)
End Try
Else
MsgBox("Senha antiga incorreta.",
vbCritical) MaskedTextBox1.Focus()
End If
End Sub
Private Sub MaskedTextBox3_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles MaskedTextBox3.KeyPress
If e.KeyChar = Chr(13) Then
btn_alterar_Click(Me, EventArgs.Empty)
End If
End Sub
End Class
5.2.3.1 Tela de servios(Menu Principal)
Esta tela principal do programa AlphaCE que tem a funo de ajudar o
funcionrio escolher o que vai fazer, como venda, cadastro de cliente, cadastro de
produtos, OS, estoque e administrador. Tambm, um menu superior para maior
acessibilidade.
End Sub
Private Sub Btn_produos_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Btn_produos.Click
Cad_produtos.Show()
End Sub
Private Sub Btn_os_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Btn_os.Click
OS.Show()
End Sub
Private Sub Btn_adm_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Btn_adm.Click
Painel_estoque.Show()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Cadastro_Geral.Show()
End Sub
Private Sub Form2_servicos_FormClosed(ByVal sender As Object, ByVal e As
System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
End
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_vendas.Click
Venda.Show()
End Sub
Private Sub AdicionarToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
AdicionarToolStripMenuItem.Click
Cad_cliente.Show()
End Sub
Private Sub servicos_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
If tipo_usuario_var = "PADRAO" Then
Button1.Enabled = False
Else
Button1.Enabled = True
lbl_adm.Enabled = True
End If
'If Me.MinimizeBox = True Then
'Limpo.MinimizeBox = True
'End If
End Sub
End Class
5.2.4.1 Tela de Cadastro Geral
Clicando na opo Administrador, abrir esse menu. Nele o
funcionrio poder fazer todos os tipos de cadastros mostrados na tela.
Cad_funcionario.Show()
Cad_funcionario.Textbox_nome.Focus()
Hide()
End Sub
Private Sub Btn_alterar_senha_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Btn_alterar_senha.Click
End Sub
Private Sub Btn_produtos_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs)
End Sub
Private Sub btn_fornecedor_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_fornecedor.Click
Cad_fornecedor.Show()
Hide()
End Sub
Private Sub Cadastro_Geral_Load(sender As System.Object, e As
System.EventArgs) Handles MyBase.Load
End Sub
End Class
5.2.5.1 Tela de Cadastro de Cargo
Clicando na opo de cargo, abrir esse menu para cadastrar o cargo.
End Class
5.2.7.1 Tela de Cadastro Tipo de Clientes
Clicando nessa opo, o menu de cadastro que aparece so as opes
de cadastro de pessoa fsica e jurdica.
Textbox_email.Clear()
Textbox_site.Clear()
Textbox_nome.Focus()
End Sub
Private Sub FUN_Proximo()
conexao()
Try
With cmd
.CommandType = System.Data.CommandType.Text
.Connection = con
.CommandText = "select codcliente from cliente where codcliente =
(select max(codcliente) from cliente)"
End With
reader = cmd.ExecuteReader
If reader.Read() Then
codcliente_var = reader("codcliente")
reader.Close()
con.Close()
Lbl_codcliente.Text = codcliente_var + 1 'ADICIONAR O COD E SOMAR
MAIS 1 NO FORM
Else
Lbl_codcliente.Text = 1
End If
Catch a As Exception
End Try
con.Close()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs)
cad_fis_jur.Show()
Hide()
End Sub
Private Sub btn_voltar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs)
cad_fis_jur.Show()
Me.Hide()
End Sub
Private Sub btn_Localizar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs)
Painel_cliente.Show()
End Sub
Private Sub btn_Salvar_Click_1(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_Salvar.Click
conexao()
With cmd
.CommandType = System.Data.CommandType.Text
.CommandText = "select codendereco from endereco where
codendereco=(select max(codendereco) from endereco)"
End With
reader = cmd.ExecuteReader
If reader.Read() Then
codendereco_var = reader("codendereco")
reader.Close()
End If
con.Close()
con.Open()
With cmd
.CommandType = System.Data.CommandType.Text
.CommandText = "select codtelefone from telefone
where codtelefone=(select max(codtelefone) from telefone)"
End With
reader = cmd.ExecuteReader
If reader.Read() Then
codtelefone_var = reader("codtelefone")
reader.Close()
End If
con.Close()
con.Open()
With cmd
.CommandType = System.Data.CommandType.Text
.CommandText = "select codpfisica from pfisica where
codpfisica=(select max(codpfisica) from pfisica)"
End With
reader = cmd.ExecuteReader
If reader.Read() Then
codpfisica_var = reader("codpfisica")
reader.Close()
End If
con.Close()
con.Open()
With cmd
.CommandType = CommandType.Text
.CommandText = "INSERT INTO endereco(codendereco,Logradouro,
Numero, Cep, Complemento, Bairro, Cidade, Estado) VALUES
(@codendereco,@Logradouro, @Numero , @Cep, @Complemento,
@ B a i rro ,
@Cidade, @Estado)"
.Parameters.Add("@codendereco", MySqlDbType.Int32)
.Parameters.Add("@Logradouro", MySqlDbType.VarChar)
.Parameters.Add("@Numero", MySqlDbType.VarChar)
.Parameters.Add("@Complemento", MySqlDbType.VarChar)
.Parameters.Add("@Bairro", MySqlDbType.VarChar)
.Parameters.Add("@Cidade", MySqlDbType.VarChar)
.Parameters.Add("@Estado", MySqlDbType.VarChar)
.Parameters.Add("@Cep", MySqlDbType.VarChar)
.Parameters("@codendereco").Value = codendereco_var + 1
.Parameters("@Logradouro").Value = Textbox_endereco.Text
.Parameters("@Numero").Value = Textbox_numero.Text
.Parameters("@Complemento").Value = Textbox_comp.Text
.Parameters("@Bairro").Value = Textbox_bairro.Text
.Parameters("@Cidade").Value = Textbox_cidade.Text
.Parameters("@Estado").Value = Masked_uf.Text
.Parameters("@Cep").Value = Maskbox_cep.Text
.ExecuteNonQuery()
End With
con.Close()
con.Open()
With cmd
.CommandType = CommandType.Text
.CommandText = "INSERT INTO telefone(codtelefone, telefone, celular,
fax) VALUES (@codtelefone, @telefone, @celular, @fax)"
.Parameters.Add("@codtelefone", MySqlDbType.Int32)
.Parameters.Add("@telefone", MySqlDbType.VarChar)
.Parameters.Add("@celular", MySqlDbType.VarChar)
.Parameters.Add("@fax", MySqlDbType.VarChar)
.Parameters("@codtelefone").Value = codtelefone_var + 1
.Parameters("@telefone").Value = Maskbox_telefone.Text
.Parameters("@celular").Value = Maskbox_celular.Text
.Parameters("@fax").Value = Mask_fax.Text
.ExecuteNonQuery()
con.Close()
End With
With cmd
con.Open()
.CommandType = CommandType.Text
.CommandText = "INSERT INTO pfisica(codpfisica, rg, cpf) VALUES
(@codpfisica, @rg, @cpf)"
.Parameters.Add("@codpfisica", MySqlDbType.Int32)
.Parameters.Add("@rg", MySqlDbType.VarChar)
.Parameters.Add("@cpf", MySqlDbType.VarChar)
.Parameters("@codpfisica").Value = codpfisica_var + 1
.Parameters("@rg").Value = Mbox_rg.Text
.Parameters("@cpf").Value = Mbox_cpf.Text
.ExecuteNonQuery()
con.Close()
End With
con.Open()
cmd = con.CreateCommand
With cmd
.CommandType = System.Data.CommandType.Text
.Parameters.Add("@codendereco", MySqlDbType.Int32)
.Parameters.Add("@codtelefone", MySqlDbType.Int32)
.Parameters.Add("@codpfisica", MySqlDbType.Int32)
.Parameters("@Nome").Value = Textbox_nome.Text
.Parameters("@data_cadastro").Value = data_cadastro
.Parameters("@data_nasc").Value = Mask_nasc.Text
.Parameters("@email").Value = Textbox_email.Text
.Parameters("@site").Value = Textbox_site.Text
.Parameters("@OBS").Value = TextBox_obs.Text
.Parameters("@codendereco").Value = codendereco_var
.Parameters("@codtelefone").Value = codtelefone_var
.Parameters("@codpfisica").Value = codpfisica_var
.ExecuteNonQuery()
.CommandText = "SELECT CODCLIENTE FROM CLIENTE WHERE NOME
= @nome"
reader = cmd.ExecuteReader()
reader.Read()
codcliente_var = reader.GetString("codcliente")
Lbl_codcliente.Text = codcliente_var + 1
con.Close()
End With
limpar_campos_cliente()
End Sub
Private Sub Cad_cliente_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
FUN_Padrao()
lbl_data_cadastro.Text = Date.Today
data_cadastro = lbl_data_cadastro.Text
Textbox_nome.Focus()
conexao()
FUN_Proximo()
End Sub
Private Sub btn_Localizar_Click_1(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_Localizar.Click
Painel_cliente.Show()
Hide()
End Sub
Private Sub btn_Editar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_Editar.Click
Try
If MsgBox("Deseja alterar o cadastro deste Cliente?", vbYesNo,
"confirmao") = vbYes Then
conexao()
With cmd
.CommandType = System.Data.CommandType.Text
.Parameters.Add("@fax", MySqlDbType.VarChar)
.Parameters("@codtelefone").Value = codtelefone_var
.Parameters("@telefone").Value = Maskbox_telefone.Text
.Parameters("@celular").Value = Maskbox_celular.Text
.Parameters("@fax").Value = Mask_fax.Text
.ExecuteNonQuery()
End With
con.Close()
conexao()
With cmd
.CommandType = CommandType.Text
.CommandText = "UPDATE pfisica SET rg=@rg, cpf=@cpf where
codpfisica=@codpfisica"
.Parameters.Add("@codpfisica", MySqlDbType.Int32)
.Parameters.Add("@rg", MySqlDbType.VarChar)
.Parameters.Add("@cpf", MySqlDbType.VarChar)
.Parameters("@codpfisica").Value = codpfisica_var
.Parameters("@rg").Value = Mbox_rg.Text
.Parameters("@cpf").Value = Mbox_cpf.Text
.ExecuteNonQuery()
End With
con.Close()
conexao()
With cmd
.CommandType = CommandType.Text
.CommandText = "UPDATE cliente SET nome=@nome,
data_nasc=@data_nasc, email=@email, site=@site, obs=@obs
where codcliente=@codcliente"
.Parameters.Add("@codcliente", MySqlDbType.Int32)
.Parameters.Add("@nome", MySqlDbType.VarChar)
.Parameters.Add("@data_nasc", MySqlDbType.VarChar)
.Parameters.Add("@email", MySqlDbType.VarChar)
.Parameters.Add("@site", MySqlDbType.VarChar)
.Parameters.Add("@obs", MySqlDbType.VarChar)
.Parameters("@codcliente").Value = codcliente_var
.Parameters("@nome").Value = Textbox_nome.Text
.Parameters("@data_nasc").Value = Mask_nasc.Text
.Parameters("@email").Value = Textbox_email.Text
.Parameters("@site").Value = Textbox_site.Text
.Parameters("@obs").Value = TextBox_obs.Text
.ExecuteNonQuery()
End With
con.Close()
MsgBox("Cadastro alterado com sucesso!",
vbInformation) FUN_Proximo()
FUN_Limpar()
FUN_Padrao()
Else
MsgBox("Alterao cancelada!", vbExclamation)
Textbox_nome.Focus() 'Funo focus, move o cursor para o campo
informado
End If
Catch ex1 As Exception
MsgBox(ex1.Message)
End Try
End Sub
End Class
5.2.9.1 Tela Cadastro de Funcionrios
Voltando a tela de cadastro geral, ao clicar na opo funcionrios, abrir
a tela de cadastro de funcionrio, onde ele j cadastrar um logon e senha de
acesso . necessrio preencher todos os campos.
MBox_rg.Clear()
MBox_cpf.Clear()
TextBox_obs.Clear()
MaskBox_senha.Clear()
Textbox_email.Clear()
TextBox_login.Clear()
Textbox_nome.Focus()
End Sub
Private Sub FUN_Proximo()
conexao()
Try
With cmd
.CommandType = System.Data.CommandType.Text
.Connection = con
.CommandText = "select codfunc from funcionario where codfunc = (select
max(codfunc) from funcionario)"
End With
reader = cmd.ExecuteReader
If reader.Read() Then
codfunc_var = reader("codfunc")
reader.Close()
con.Close()
LBL_codfunc.Text = codfunc_var + 1 'ADICIONAR O COD E SOMAR
MAIS 1 NO FORM
Else
LBL_codfunc.Text = 1
End If
Catch a As Exception
End Try
con.Close()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs)
cad_fis_jur.Show()
Hide()
End Sub
Private Sub btn_voltar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_voltar.Click
Cadastro_Geral.Show()
Me.Hide()
End Sub
Private Sub btn_Localizar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_Localizar.Click
Painel_funcionario.Show()
Hide()
End Sub
Private Sub btn_Salvar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_Salvar.Click
Dim reader As MySqlDataReader
conexao()
Try
If codfunc_var = 0 Then
With cmd
.CommandType = System.Data.CommandType.Text
.Connection = con
.CommandText = "select codfunc from funcionario where codfunc
= (select max(codfunc) from funcionario)"
End With
reader = cmd.ExecuteReader
If reader.Read() Then
codfunc_var = reader("codfunc")
reader.Close()
con.Close()
codfunc_var = codfunc_var + 1 'ADICIONAR O COD E SOMAR MAIS 1
NO FORM
Else
LBL_codfunc.Text = 1
End If con.Close()
Form_login.lk_adm.Visible = False
Me.Hide()
Form_login.Show()
Form_login.MaskedTextBox1.Focus()
End If
Catch ex As Exception
End Try
conexao()
With cmd
.CommandType = System.Data.CommandType.Text
.CommandText = "select codendereco from endereco where
codendereco=(select max(codendereco) from
endereco)" End With
reader = cmd.ExecuteReader
If reader.Read() Then
codendereco_var = reader("codendereco")
reader.Close()
End If
con.Close()
con.Open()
With cmd
.CommandType = System.Data.CommandType.Text
.CommandText = "select codtelefone from telefone
where codtelefone=(select max(codtelefone) from telefone)"
End With
reader = cmd.ExecuteReader
If reader.Read() Then
codtelefone_var = reader("codtelefone")
reader.Close()
End If
con.Close()
con.Open()
With cmd
.CommandType = System.Data.CommandType.Text
.CommandText = "select codpfisica from pfisica where codpfisica=(select
max(codpfisica) from pfisica)"
End With
reader = cmd.ExecuteReader
If reader.Read() Then
codpfisica_var = reader("codpfisica")
reader.Close()
End If
con.Close()
con.Open()
With cmd
.CommandType = CommandType.Text
.CommandText = "INSERT INTO endereco(codendereco,Logradouro,
Numero, Cep, Complemento, Bairro, Cidade, Estado) VALUES
(@codendereco,@Logradouro, @Numero, @Cep, @Complemento, @Bairro,
@Cidade, @Estado)"
.Parameters.Add("@codendereco", MySqlDbType.Int32)
.Parameters.Add("@Logradouro", MySqlDbType.VarChar)
.Parameters.Add("@Numero", MySqlDbType.VarChar)
.Parameters.Add("@Complemento", MySqlDbType.VarChar)
.Parameters.Add("@Bairro", MySqlDbType.VarChar)
.Parameters.Add("@Cidade", MySqlDbType.VarChar)
.Parameters.Add("@Estado", MySqlDbType.VarChar)
.Parameters.Add("@Cep", MySqlDbType.VarChar)
.Parameters("@codendereco").Value = codendereco_var + 1
.Parameters("@Logradouro").Value = Textbox_endereco.Text
.Parameters("@Numero").Value = Textbox_num.Text
.Parameters("@Complemento").Value = Textbox_comp.Text
.Parameters("@Bairro").Value = TextBox_bairro.Text
.Parameters("@Cidade").Value = TextBox_cidade.Text
.Parameters("@Estado").Value = Masked_UF.Text
.Parameters("@Cep").Value = Mask_cep.Text
.ExecuteNonQuery()
End With
con.Close()
con.Open()
With cmd
.CommandType = CommandType.Text
reader.Close()
End If
con.Close()
con.Open()
With cmd
.CommandType = System.Data.CommandType.Text
.CommandText = "select codpfisica from pfisica where
codpfisica=(select max(codpfisica) from pfisica)"
End With
reader = cmd.ExecuteReader
If reader.Read() Then
codpfisica_var = reader("codpfisica")
reader.Close()
End If
con.Close()
con.Open()
With cmd
.CommandType = CommandType.Text
.CommandText = "INSERT INTO funcionario(Nome, data_cadastro,
Data_nasc, email, Login, Senha, OBS, status, tipo_usuario, codendereco,
codtelefone, codcargo, codpfisica) VALUES (@nome, @data_cadastro,
@Data_nasc, @email, @login, @senha, @obs, @status, @tipo_usuario,
@codendereco, @codtelefone, @codcargo, @codpfisica)"
.Parameters.Add("@Nome", MySqlDbType.VarChar)
.Parameters.Add("@data_cadastro", MySqlDbType.VarChar)
.Parameters.Add("@data_nasc", MySqlDbType.VarChar)
.Parameters.Add("@email", MySqlDbType.VarChar)
.Parameters.Add("@login", MySqlDbType.VarChar)
.Parameters.Add("@senha", MySqlDbType.VarChar)
.Parameters.Add("@OBS", MySqlDbType.VarChar)
.Parameters.Add("@status", MySqlDbType.VarChar)
.Parameters.Add("@tipo_usuario", MySqlDbType.VarChar)
.Parameters.Add("@codendereco", MySqlDbType.Int32)
.Parameters.Add("@codtelefone", MySqlDbType.Int32)
.Parameters.Add("@codcargo", MySqlDbType.Int32)
.Parameters.Add("@codpfisica", MySqlDbType.Int32)
.Parameters("@Nome").Value = Textbox_nome.Text
.Parameters("@data_cadastro").Value = data_cadastro
.Parameters("@data_nasc").Value = Mask_nasc.Text
.Parameters("@email").Value = Textbox_email.Text
.Parameters("@login").Value = TextBox_login.Text
.Parameters("@senha").Value = MaskBox_senha.Text
.Parameters("@OBS").Value = TextBox_obs.Text
.Parameters("@status").Value = "ATIVO"
.Parameters("@tipo_usuario").Value = tipo_usuario_var
.Parameters("@codendereco").Value = codendereco_var
.Parameters("@codtelefone").Value = codtelefone_var
.Parameters("@codcargo").Value = ComboBox_cargo.SelectedValue
.Parameters("@codpfisica").Value = codpfisica_var
.ExecuteNonQuery()
End With
con.Close()
FUN_Proximo()
FUN_Limpar()
End Sub
Private Sub Cad_funcionario_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
FUN_Padrao()
Rbtn_padrao.Checked = True
lbl_data_cadastro.Text = Date.Today
data_cadastro = lbl_data_cadastro.Text
Textbox_nome.Focus()
'TODO: This line of code loads data into the 'Alpha.cargo' table. You can
move, or remove it, as needed.
Me.CargoTableAdapter.Fill(Me.Alpha.cargo)
conexao()
FUN_Proximo()
End Sub
Private Sub btn_Editar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_Editar.Click
Try
If MsgBox("Deseja alterar o cadastro deste funcionario?",
vbYesNo, "confirmao") = vbYes Then
conexao()
If RBN_Ativo.Checked = True Then
status_var = "ATIVO"
Else
status_var = "INATIVO"
End If
With cmd
.CommandType = System.Data.CommandType.Text
.CommandText = "select * from funcionario
where codfunc=@codfuncionario"
.Parameters.Add("@codfuncionario", MySqlDbType.VarChar)
.Parameters("@codfuncionario").Value = codfunc_var
End With
reader = cmd.ExecuteReader
If reader.Read() Then
codendereco_var = reader("codendereco")
codtelefone_var = reader("codtelefone")
codpfisica_var = reader("codpfisica")
codcargo_var = reader("codcargo")
End If
reader.Close()
con.Close()
con.Open()
With cmd
.CommandType = CommandType.Text
.CommandText
=
"UPDATE
endereco
SET
Logradouro=@Logradouro,
Numero=@Numero,
Cep=@Cep,
Complemento=@Complemento,
Bairro=@Bairro,
Cidade=@Cidade,
Estado=@Estado where codendereco=@codendereco"
.Parameters.Add("@codendereco", MySqlDbType.Int32)
.Parameters.Add("@Logradouro", MySqlDbType.VarChar)
.Parameters.Add("@Numero", MySqlDbType.VarChar)
.Parameters.Add("@Complemento", MySqlDbType.VarChar)
.Parameters.Add("@Bairro", MySqlDbType.VarChar)
.Parameters.Add("@Cidade", MySqlDbType.VarChar)
.Parameters.Add("@Estado", MySqlDbType.VarChar)
.Parameters.Add("@Cep", MySqlDbType.VarChar)
.Parameters("@codendereco").Value = codendereco_var
.Parameters("@Logradouro").Value = Textbox_endereco.Text
.Parameters("@Numero").Value = Textbox_num.Text
.Parameters("@Complemento").Value = Textbox_comp.Text
.Parameters("@Bairro").Value = TextBox_bairro.Text
.Parameters("@Cidade").Value = TextBox_cidade.Text
.Parameters("@Estado").Value = Masked_UF.Text
.Parameters("@Cep").Value = Mask_cep.Text
.ExecuteNonQuery()
End With
con.Close()
con.Open()
With cmd
.CommandType = CommandType.Text
.CommandText = "UPDATE telefone SET
telefone=@telefone, celular=@celular where codtelefone=@codtelefone"
.Parameters.Add("@codtelefone", MySqlDbType.Int32)
.Parameters.Add("@telefone", MySqlDbType.VarChar)
.Parameters.Add("@celular", MySqlDbType.VarChar)
.Parameters("@codtelefone").Value = codtelefone_var
.Parameters("@telefone").Value = Mask_telefone.Text
.Parameters("@celular").Value = Mask_celular.Text
.ExecuteNonQuery()
End With
con.Close()
With cmd
con.Open()
.CommandType = CommandType.Text
.CommandText = "UPDATE pfisica SET rg=@rg, cpf=@cpf where
codpfisica=@codpfisica"
.Parameters.Add("@codpfisica", MySqlDbType.Int32)
.Parameters.Add("@rg", MySqlDbType.VarChar)
.Parameters.Add("@cpf", MySqlDbType.VarChar)
.Parameters("@codpfisica").Value = codpfisica_var
.Parameters("@rg").Value = MBox_rg.Text
.Parameters("@cpf").Value = MBox_cpf.Text
.ExecuteNonQuery()
End With
con.Close()
con.Open()
With cmd
.CommandType = CommandType.Text
.CommandText = "UPDATE funcionario SET Nome=@Nome,
data_cadastro=@data_cadastro, Data_nasc=@data_nasc,
email=@email, Login=@login, Senha=@senha, OBS=@OBS,
status=@status, tipo_usuario=@tipo_usuario where
codfunc=@codfuncionario"
.Parameters.Add("@codfunc", MySqlDbType.Int32)
.Parameters.Add("@Nome", MySqlDbType.VarChar)
.Parameters.Add("@data_cadastro", MySqlDbType.VarChar)
.Parameters.Add("@data_nasc", MySqlDbType.VarChar)
.Parameters.Add("@email", MySqlDbType.VarChar)
.Parameters.Add("@login", MySqlDbType.VarChar)
.Parameters.Add("@senha", MySqlDbType.VarChar)
.Parameters.Add("@OBS", MySqlDbType.VarChar)
.Parameters.Add("@status", MySqlDbType.VarChar)
.Parameters.Add("@tipo_usuario", MySqlDbType.VarChar)
.Parameters("@codfunc").Value = codfunc_var
.Parameters("@Nome").Value = Textbox_nome.Text
.Parameters("@data_cadastro").Value = data_cadastro
.Parameters("@data_nasc").Value = Mask_nasc.Text
.Parameters("@email").Value = Textbox_email.Text
.Parameters("@login").Value = TextBox_login.Text
.Parameters("@senha").Value = MaskBox_senha.Text
.Parameters("@OBS").Value = TextBox_obs.Text
.Parameters("@status").Value = status_var
.Parameters("@tipo_usuario").Value = tipo_usuario_var
.ExecuteNonQuery()
End With
con.Close()
Painel_funcionario.atualizar() 'Atualiza o painel com os dados alterado
MsgBox("Cadastro alterado com sucesso!",
vbInformation) FUN_Proximo()
FUN_Limpar()
FUN_Padrao()
Else
MsgBox("Alterao cancelada!", vbExclamation)
Textbox_nome.Focus() 'Funo focus, move o cursor para o campo
informado
End If
Catch ex1 As Exception
MsgBox(ex1.Message)
End Try
End Sub
Private Sub btn_Cancelar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_Cancelar.Click
FUN_Proximo()
FUN_Limpar()
FUN_Padrao()
End Sub
Private Sub Rbtn_Admin_CheckedChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
Rbtn_Admin.CheckedChanged
tipo_usuario_var = "ADMINISTRADOR"
End Sub
Private Sub Rbtn_padrao_CheckedChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
Rbtn_padrao.CheckedChanged
tipo_usuario_var = "PADRAO"
End Sub
End Class
5.2.10.1 Tela de Cadastro de Fornecedor
Voltando a tela de cadastro geral, clicando na opo fornecedro, abrir a
tela de cadastro de fornecedor. Nessa tela, pode voltar a tela anterior, alterar
cadastro, localizar e cancelar.
67
68
End If
Catch a As Exception
End Try
con.Close()
End Sub
Private Sub Btn_salvar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Btn_salvar.Click
'removi daqui as variaveis codendereco, codpfisica e coloquei no modulo
Dim reader As MySqlDataReader
conexao()
With cmd
.CommandType = System.Data.CommandType.Text
.CommandText = "select codendereco from endereco where
codendereco=(select max(codendereco) from endereco)"
End With
reader = cmd.ExecuteReader
If reader.Read() Then
codendereco_var = reader("codendereco")
reader.Close()
End If
con.Close()
con.Open()
With cmd
.CommandType = System.Data.CommandType.Text
.CommandText = "select codtelefone from telefone
where codtelefone=(select max(codtelefone) from telefone)"
End With
reader = cmd.ExecuteReader
If reader.Read() Then
codtelefone_var = reader("codtelefone")
reader.Close()
End If
con.Close()
con.Open()
With cmd
.CommandType = System.Data.CommandType.Text
.CommandText = "select codpjuridica from pjuridica
where codpjuridica=(select max(codpjuridica) from pjuridica)"
End With
reader = cmd.ExecuteReader
If reader.Read() Then
codpjuridica_var = reader("codpjuridica")
reader.Close()
End If
con.Close()
con.Open()
With cmd
.CommandType = CommandType.Text
.CommandText = "INSERT INTO endereco(codendereco,Logradouro,
Numero, Cep, Complemento, Bairro, Cidade, Estado) VALUES
(@codendereco,@Logradouro, @Numero, @Cep, @Complemento,
@ B a i rro ,
@Cidade, @Estado)"
.Parameters.Add("@codendereco", MySqlDbType.Int32)
.Parameters.Add("@Logradouro", MySqlDbType.VarChar)
.Parameters.Add("@Numero", MySqlDbType.VarChar)
.Parameters.Add("@Complemento", MySqlDbType.VarChar)
.Parameters.Add("@Bairro", MySqlDbType.VarChar)
.Parameters.Add("@Cidade", MySqlDbType.VarChar)
.Parameters.Add("@Estado", MySqlDbType.VarChar)
.Parameters.Add("@Cep", MySqlDbType.VarChar)
.Parameters("@codendereco").Value = codendereco_var + 1
.Parameters("@Logradouro").Value = Textbox_endereco.Text
.Parameters("@Numero").Value = Textbox_num.Text
.Parameters("@Complemento").Value = Textbox_comp.Text
.Parameters("@Bairro").Value = TextBox_bairro.Text
.Parameters("@Cidade").Value = TextBox_cidade.Text
.Parameters("@Estado").Value = Masked_UF.Text
.Parameters("@Cep").Value = Mask_cep.Text
.ExecuteNonQuery()
End With
con.Close()
con.Open()
With cmd
.CommandType = CommandType.Text
.CommandText = "INSERT INTO telefone(codtelefone, telefone, celular,
fax) VALUES (@codtelefone, @telefone, @celular, @fax)"
.Parameters.Add("@codtelefone", MySqlDbType.Int32)
.Parameters.Add("@telefone", MySqlDbType.VarChar)
.Parameters.Add("@celular", MySqlDbType.VarChar)
.Parameters.Add("@Fax", MySqlDbType.VarChar)
.Parameters("@codtelefone").Value = codtelefone_var + 1
.Parameters("@telefone").Value = Mask_telefone.Text
.Parameters("@celular").Value = Mask_celular.Text
.Parameters("@Fax").Value = MasKtBox_fax.Text
.ExecuteNonQuery()
con.Close()
End With
With cmd
con.Open()
.CommandType = CommandType.Text
codpjuridica_var = reader("codpjuridica")
reader.Close()
End If
con.Close()
con.Open()
With cmd
.CommandType = CommandType.Text
.CommandText = "INSERT INTO fornecedor(Nome, Representante,
Data_cadastro, site, email, obs, codtelefone, codendereco, codpjuridica) Values
(@Nome, @Representante, @Data_cada stro, @site, @email, @obs, @codtelefone,
@codendereco, @codpjuridica) "
.Parameters.Add("@nome", MySqlDbType.VarChar)
.Parameters.Add("@Representante", MySqlDbType.VarChar)
.Parameters.Add("@Data_cadastro", MySqlDbType.VarChar)
.Parameters.Add("@site", MySqlDbType.VarChar)
.Parameters.Add("@email", MySqlDbType.VarChar)
.Parameters.Add("@obs", MySqlDbType.VarChar)
.Parameters.Add("@codtelefone", MySqlDbType.Int32)
.Parameters.Add("@codendereco", MySqlDbType.Int32)
.Parameters.Add("@codpjuridica", MySqlDbType.Int32)
.Parameters("@nome").Value = Textbox_razao_social.Text
.Parameters("@Representante").Value = TextBox_representante.Text
.Parameters("@Data_cadastro").Value = data_cadastro
.Parameters("@site").Value = TextBox_site.Text
.Parameters("@email").Value = Textbox_email.Text
.Parameters("@Obs").Value = TextBox_obs.Text
.Parameters("@codtelefone").Value = codtelefone_var
.Parameters("@codendereco").Value = codendereco_var
.Parameters("@codpjuridica").Value = codpjuridica_var
.ExecuteNonQuery()
.CommandText = "SELECT CODFORNECEDOR FROM FORNECEDOR
WHERE NOME =@NOME" 'Pesquisa para saber o ultimo codigo e ,ostra-lo em
uma label
reader = cmd.ExecuteReader()
reader.Read()
codfornecedor_var = reader.GetString("codfornecedor")
LBL_codforn.Text = codfornecedor_var + 1
con.Close()
End With
FUN_Limpar() 'Funo para limpar os campos (textbox, maskedbox)
das tabelas
con.Close()
End Sub
Private Sub Cad_fornecedor_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Mask_data_cad.Text = Date.Today()
data_cadastro = Mask_data_cad.Text
.Parameters.Add("@Cidade", MySqlDbType.VarChar)
.Parameters.Add("@Estado", MySqlDbType.VarChar)
.Parameters.Add("@Cep", MySqlDbType.VarChar)
.Parameters("@codendereco").Value = codendereco_var
.Parameters("@Logradouro").Value = Textbox_endereco.Text
.Parameters("@Numero").Value = Textbox_num.Text
.Parameters("@Complemento").Value = Textbox_comp.Text
.Parameters("@Bairro").Value = TextBox_bairro.Text
.Parameters("@Cidade").Value = TextBox_cidade.Text
.Parameters("@Estado").Value = Masked_UF.Text
.Parameters("@Cep").Value = Mask_cep.Text
.ExecuteNonQuery()
End With
con.Close()
con.Open()
With cmd
.CommandType = CommandType.Text 'Alterao no banco de dados da
tabela telefone
.CommandText = "UPDATE telefone SET telefone=@telefone,
celular=@celular, fax=@fax where codtelefone=@codtelefone"
.Parameters.Add("@codtelefone", MySqlDbType.Int32)
.Parameters.Add("@telefone", MySqlDbType.VarChar)
.Parameters.Add("@celular", MySqlDbType.VarChar)
.Parameters.Add("@fax", MySqlDbType.VarChar)
.Parameters("@codtelefone").Value = codtelefone_var
.Parameters("@telefone").Value = Mask_telefone.Text
.Parameters("@celular").Value = Mask_celular.Text
.Parameters("@fax").Value = MasKtBox_fax.Text
.ExecuteNonQuery()
End With
con.Close()
With cmd
con.Open()
.CommandType = CommandType.Text 'Fazer alterao no BR da tabela
PJuridica
.CommandText = "UPDATE pjuridica SET razao_social=@razao_social,
cnpj=@cnpj, ie=@ie where codpjuridica=@codpjuridica"
.Parameters.Add("@codpjuridica", MySqlDbType.Int32)
.Parameters.Add("@razao_social", MySqlDbType.VarChar)
.Parameters.Add("@cnpj", MySqlDbType.VarChar)
.Parameters.Add("@ie", MySqlDbType.VarChar)
.Parameters("@codpjuridica").Value = codpjuridica_var
.Parameters("@razao_social").Value = Textbox_razao_social.Text
.Parameters("@cnpj").Value = MBox_cnpj.Text
.Parameters("@ie").Value = MBox_IE.Text
.ExecuteNonQuery()
End With
con.Close()
con.Open()
With cmd
.CommandText = "UPDATE fornecedor SET Nome=@Nome,
Representante=@Representante, data_cadastro=@Data_cadastro,
site=@site, email=@email, obs=@obs where codfornecedor=@codfornecedor"
.Parameters.Add("@nome", MySqlDbType.VarChar)
.Parameters.Add("@Representante", MySqlDbType.VarChar)
.Parameters.Add("@Data_cadastro", MySqlDbType.VarChar)
.Parameters.Add("@site", MySqlDbType.VarChar)
.Parameters.Add("@email", MySqlDbType.VarChar)
.Parameters.Add("@obs", MySqlDbType.VarChar)
.Parameters("@nome").Value = Textbox_razao_social.Text
.Parameters("@Representante").Value = TextBox_representante.Text
.Parameters("@Data_cadastro").Value = data_cadastro
.Parameters("@site").Value = TextBox_site.Text
.Parameters("@email").Value = Textbox_email.Text
.Parameters("@Obs").Value = TextBox_obs.Text
.ExecuteNonQuery()
End With
con.Close()
MsgBox("Cadastro alterado com sucesso!",
vbInformation) FUN_Proximo()
FUN_Limpar()
FUN_Padrao()
Else
MsgBox("Alterao cancelada!", vbExclamation)
End If
Catch ex1 As Exception
MsgBox(ex1.Message)
End Try
End Sub
Private Sub btn_voltar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_voltar.Click
Cadastro_Geral.Show()
Me.Hide()
End Sub
Private Sub btn_cancelar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_cancelar.Click
FUN_Proximo()
FUN_Limpar()
FUN_Padrao()
End Sub
End Class
Obs: Voltando novamente a tela de cadastro geral, o boto que falta o
alterao de senha, que leva a mesma tela de alterao de senha que tem na
tela de login do programa.
5.2.11.1 Tela Estoque*
Voltando a tela principal, ao clicar na opo estoque, abrir um painel de
consulta de estoque.
* tela em desenvolvimento
5.2.12.1 Tela de OS
Voltando a tela principal, ao clicar na opo OS, abrir um cadastro de OS,
onde o nmero de OS gerado automaticamente. Pode-se imprimir o recibo,
localizar por nmero de OS e gerar uma nova OS.
77
data_cadastro = lbl_data_cadastro.Text
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button4.Click
MsgBox(data_cadastro)
Painel_OS.Show()
End Sub
End Class
*tela ainda em desenvolvimento
5.2.13.1 Tela Cadastro de produtos
Voltando ao menu principal, clinando na opo produtos, abrir a tela
abaixo, onde pode-se cadastar novos produtos, localizar e excluir.
.Connection = con
.CommandText = "select codproduto from produto where codproduto
= (select max(codproduto) from produto)"
End With
reader = cmd.ExecuteReader
If reader.Read() Then
codproduto_var = reader("codproduto")
reader.Close()
con.Close()
lbl_cod_produto.Text = codproduto_var + 1 'ADICIONAR O COD E
SOMAR MAIS 1 NO FORM
Else
lbl_cod_produto.Text = 1
End If
Catch a As Exception
End Try
con.Close()
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs)
servicos.Show()
Hide()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs)
servicos.Show()
Me.Hide()
End Sub
Private Sub btn_Salvar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_Salvar.Click
conexao()
With cmd
.CommandType = CommandType.Text
.CommandText = "INSERT INTO Produto (nomeproduto, Marca, Modelo,
Fabricante,
Datacompra,
Garantialoja,
Garantiaforn,
Estoqueatual,
Custocompra, Custovenda, obs, codfornecedor) VALUES (@nomeproduto,
@Marca, @Modelo,
@Fabricante, @Datacompra, @Garantialoja, @Garantiaforn, @Estoqueatual,
@Custocompra, @Custovenda, @obs, @codfornecedor)"
.CommandType = CommandType.Text
.Parameters.Add("@Nomeproduto", MySqlDbType.VarChar)
.Parameters.Add("@Marca", MySqlDbType.VarChar)
.Parameters.Add("@Modelo", MySqlDbType.VarChar)
.Parameters.Add("@Fabricante", MySqlDbType.VarChar)
.Parameters.Add("@Datacompra", MySqlDbType.VarChar)
.Parameters.Add("@garantialoja", MySqlDbType.VarChar)
.Parameters.Add("@Garantiaforn", MySqlDbType.VarChar)
.Parameters.Add("@Estoqueatual", MySqlDbType.VarChar)
.Parameters.Add("@custocompra", MySqlDbType.Decimal)
.Parameters.Add("@custovenda", MySqlDbType.Decimal)
.Parameters.Add("@obs", MySqlDbType.VarChar)
.Parameters.Add("@codfornecedor", MySqlDbType.Int32)
.Parameters("@Nomeproduto").Value = Textbox_nome.Text
.Parameters("@Marca").Value = Textbox_marca.Text
.Parameters("@Modelo").Value = Textbox_modelo.Text
.Parameters("@Fabricante").Value = Textbox_fabricante.Text
.Parameters("@datacompra").Value = MaskBox_data_compra.Text
.Parameters("@Garantialoja").Value = TextBox_garantia.Text
.Parameters("@Garantiaforn").Value = TextBox_garantia_forn.Text
.Parameters("@Estoqueatual").Value = MaskBox_qtde_estoque.Text
.Parameters("@custocompra").Value = MaskBox_custo.Text
.Parameters("@custovenda").Value = MaskBox_venda.Text
.Parameters("@obs").Value = textbox_obs.Text
.Parameters("@codfornecedor").Value = combobox_forn.SelectedValue
.ExecuteNonQuery()
End With
con.Close()
FUN_Proximo()
limpar_campos()
End Sub
Private Sub Cad_produtos_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
'TODO: This line of code loads data into the 'Alpha.fornecedor' table. You
can move, or remove it, as needed.
Me.FornecedorTableAdapter.Fill(Me.Alpha.fornecedor)
FUN_Proximo()
End Sub
Private Sub btn_Localizar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_Localizar.Click
Painel_produto.Show()
Hide()
End Sub
Private Sub btn_Editar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_Editar.Click
Try
If MsgBox("Deseja alterar as informaes do produto?",
vbYesNo, "confirmao") = vbYes Then
conexao()
With cmd
.CommandType = System.Data.CommandType.Text
6. Requisitos Mnimos
Configurao mnima necessria para funcionamento do sistema.
Resoluo: 1.024 x 768
Plataforma: Windows Xp
Configurao mnima: Celeron 1.6, 512Mb Ram, HD 40GB
Concluso
Trabalho de concluso sobre o controle de estoque, construir um programa
que faa essa funo.
Iniciamos a pesquisa entendendo como funciona o programa que estava na
empresa que est com a dificuldade de controlar o estoque e pesquisando na
internet empresas ou pessoas que disponibilisam programa para essa funo e,
assim, comparar com as nossas ideias e alcanar o objetivo que oferecer um
programa que faz o controle de estoque.
Durante a busca e pesquisa, no tivemos problemas para elaborar o
programa e sua funcionalidade tivemos bastante informao da internet e do dia a
dia, por exemplo, do comrcio em geral, supermercados, drogarias. Tivemos
dificuldade na parte de fazer o programa, sua programao/cdigos, por termos
pouco conhecimento na rea demoramos para encontrar um comeo e vrias
dificuldades para verificao de erros, mas
tentamos ao
mximo aprender
para acert-los.
Assim, finalizar o programa que foca em controlar o estoque de
microempresas e, de forma simples,
Referncia bibliogrfica
1. Centro Brasileiro de Apoio Pequena e Mdia Empresa (SEBRAE) Controle de estoque. Disponvel em: http://www.sebrae.com.br/uf/goias/paraminha-empresa/controles-gerenciais/controle-de-estoque.
Acesso 12 Setembro 2011
2. Sistema
de
Controle
de
Estoque.
Disponvel
em:
Disponvel
em:
SG.
Texto
traduzido,
MySQL.
http://www.insite.com.br/cpanel/MySQL.htm.
Acesso em 11 novembro 2011
4. Centro Brasileiro de Apoio Pequena e Mdia Empresa (SEBRAE). A
informatizao
nas
MPEs
paulistas.
Disponvel
em:
http://201.2.114.147/bds/BDS.nsf/F864F1EEEFFADD30832572B30065BABC/
$File/NT00035132.pdf
Acesso 13 maro 2012
5. Cruz R. O que as Empresas podem fazer pela incluso digital. Disponvel em:
http://portal2.tcu.gov.br/portal/pls/portal/docs/2064400.PDF
Acesso em 19 abril 2012
Glossrio
1. WBS (Work breakdown structure) uma ferramenta de decomposio do
trabalho do projeto em partes manejveis. estruturada em rvore exaustiva,
hierrquica (de mais geral para mais especfica) orientada s entregas que precisam
ser feitas para completar um projeto.
2. UML (Unified Modeling Language) permite que desenvolvedores visualizem
os produtos de seus trabalhos em diagramas padronizados.
3. DER (Diagrama entidade relacionamento) um modelo diagramtico que
descreve o modelo de dados de um sistema com alto nvel de abstrao. Ele a
principal representao do Modelo de Entidades e Relacionamentos. usado para
representar o modelo conceitual do negcio.
4. SQL (Structured Query Language) um padro internacional de consulta e
retorno de informaes de bancos de dados.
5. MySQL um software de cdigo aberto e livre para uso. Essencialmente um
servidor de SQL. Utilizamos para o nosso trabalho, como o servidor de
banco de dados.
6. Visual Studio um pacote de programas da Microsoft para
desenvolvimento de software que tem como parte o .NET Framework e
Visual Basic (VB), C, C++, C# (C Sharp) e J# (J Sharp). Utilizamos como
nossa plataforma visual para o nosso programa, interligado com o software
MySQL.