88
André Luiz de Souza Douglas Gama da Silva Ilbis Candido Silva João Paulo Coelho da Silva Robson de Carvalho Mota Wellington de C. Faustino de Oliveira Controle de Estoque AlphaCE São Paulo / SP 2012 TRABALHO DE CONCLUSÃO DO CURSO TÉCNICO EM INFORMÁTICA DE NÍVEL MÉDIO Centro Estadual de Educação Tecnológica Paula Souza GOVERNO DO ESTADO DE SÃO PAULO Etec “IRMÃ AGOSTINA”

Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

  • Upload
    vungoc

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

André Luiz de Souza Douglas Gama da Silva

Ilbis Candido Silva João Paulo Coelho da Silva Robson de Carvalho Mota

Wellington de C. Faustino de Oliveira

Controle de Estoque AlphaCE

São Paulo / SP 2012

TRABALHO DE CONCLUSÃO DO CURSO TÉCNICO EM

INFORMÁTICA DE NÍVEL MÉDIO

Centro Estadual de Educação Tecnológica Paula Souza

GOVERNO DO ESTADO DE SÃO PAULO

Etec “IRMÃ AGOSTINA”

Page 2: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

2

Controle de Estoque AlphaCE

Trabalho de Conclusão de Curso apresentado como pré-requisito para obtenção do diploma Técnico de Nível Médio em Informática.

Professor Orientador João Carlos Lima e Silva

São Paulo / SP 2012

Page 3: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

3

André Luiz de Souza Douglas Gama da Silva

Ilbis Candido Silva João Paulo Coelho da Silva Robson de Carvalho Mota

Wellington de C. Faustino de Oliveira

Controle de Estoque AlphaCE

Este Trabalho de Conclusão de Curso foi julgado e aprovado para obtenção do

certificado, no Curso de Técnico de Informática, da Escola Técnica Estadual Irmã

Agostina de São Paulo.

São Paulo, _______ de _________________ de 2012.

Professor: João Carlos Lima e Silva Coordenador do Curso de Técnico de Informática

Banca Examinadora

___________________ _____________________ Prof. Prof. Orientador ___________________ _____________________ Prof. Prof.

Page 4: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

4

[Agradecemos primeiramente a Deus por mais esta etapa da vida. Também, a família, amigos, aos colegas de sala, professores e orientador que participaram de mais esta fase de nossas vidas].

Page 5: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

5

“A dúvida é o principio da sabedoria.”

Aristóteles

Page 6: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

6

RESUMO

Controle de estoque é o procedimento adotado para registrar, fiscalizar e

gerir a entrada e saída de mercadorias e produtos da empresa. O Controle de

estoque deve ser utilizado tanto para matéria-prima, mercadorias produzidas e/ou

mercadorias vendidas.

Projeto sobre a elaboração de um sistema de controle de estoque, onde

procuramos inovar perante o programa que é utilizado em uma microempresa de

informática.

Essa microempresa de informática atende a vendas de peças e

computadores em geral e também, manutenção. Para controle de estoque utilizam

um programa que tem uma falha importante, não controla a baixa de estoque. Faz-

se a venda ou manutenção e quando finalizado no sistema, o mesmo não baixa do

estoque.

Em vista dessa questão, concluímos que seria interessante um sistema que

fizesse a baixa em estoque. Mas, junto viriam outras opções como entrada de nota,

relatórios e assim, um sistema completo.

Levamos em consideração o modelo de negócio dessa microempresa para

atender a demanda e atender as expectativas.

Palavras-chave: Controle de estoque; Modelagem controle de estoque;

Função do controle de estoque;

Page 7: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

7

Sumário

INTRODUÇÃO...........................................................................................................09

1 - A EMPRESA.........................................................................................................11

1.1 - ESTRUTURA E FUNCIONAMENTO.................................................................11

1.2 - APLICAÇÃO ATUAL.........................................................................................11

1.3 – ATUAL ESTRUTURA DE CONTROLE............................................................11

2 - FUNCIONAMENTO DE CONTROLE DE ESTOQUE...........................................13

2.1 – FUNÇÃO DO CONTROLE DE ESTOQUE.......................................................13

2.2 – OBJETIVO DO CONTROLE DE ESTOQUE....................................................13

2.3 – POLÍTICA DE ESTOQUE.................................................................................14

2.4 – PRINCÍPIOS BÁSICOS PARA O CONTROLE DE ESTOQUES.....................14

3 - LEVANTAMENTO DE REQUISITOS...................................................................16

3.1 – CRONOGRAMA................................................................................................16

3.2 – DECLARAÇÃO DE ESCOPO...........................................................................20

3.3 – WBS..................................................................................................................23

4 – MODELAGEM LÓGICA.......................................................................................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 APLICAÇÃO............................................................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 – CÓDIGOS DA TELA DE LOGIN ................................................................35

5.2.2.1 – TELA DE ALTERAÇÃO DE SENHA..........................................................37

5.2.2.2 – CÓDIGOS DA TELA DE ALTERAÇÃOD E SENHA..................................37

5.2.3.1 – TELA DE SERVIÇOS(MENU PRINCIPAL)................................................39

5.2.3.2 – CÓDIGOS DA TELA DE SERVIÇOS(MENU PRINCIPAL)........................39

5.2.4.1 – TELA DE CADASTRO DE GERAL............................................................41

5.2.4.2 – CÓDIGOS DA TELA DE CADASTRO GERAL..........................................41

5.2.5.1 – TELA DE CARGO.......................................................................................42

5.2.5.2 – CÓDIGOS DA TELA DE CARGO...............................................................42

5.2.6.1 – TELA DE SERVIÇOS..................................................................................44

Page 8: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

8

5.2.6.2 – CÓDIGO DA TELA DE SERVIÇOS............................................................44

5.2.7.1 – TELA DE CADASTRO TIPO DE CLIENTES..............................................46

5.2.7.2 – CÓDIGOS DO CADASTRO TIPO DE CLIENTES......................................46

5.2.8.1 – TELA DE CADASTRO DE CLIENTES.......................................................47

5.2.8.2 – CÓDIGO DA TELA DE CADASTRO DE CLIENTES.................................48

5.2.9.1 – TELA DE CADASTRO DE FUNCIONÁRIO...............................................56

5.2.9.2 – CÓDIGO DA TELA DE CADASTRO DE FUNCIONÁRIOS.......................57

5.2.10.1 – TELA DE CADASTRO DE FORNECEDOR.............................................66

5.2.10.2 – CÓDIGO DA TELA DE CADASTRO DE FORNECEDOR.......................68

5.2.11.1 – TELA DE ESTOQUE.................................................................................76

5.2.12.1 – TELA DE OS.............................................................................................76

5.2.12.2 –CÓDIGO DA TELA DE OS........................................................................78

5.2.13.1 – TELA DE CADASTRO DE PRODUTOS..................................................79

5.2.13.2 – CÓDIGO DA TELA DE PRODUTOS........................................................80

5.2.14.1 – TELA DE VENDAS...................................................................................84

6. REQUISITOS MÍNIMOS.........................................................................................85

CONCLUSÃO............................................................................................................86

REFERÊNCIA BIBLIOGRÁFICA...............................................................................87

GLOSSÁRIO..............................................................................................................88

Page 9: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

9

Introdução

O percentual de pequenas e micro empresa informatizadas no estado de São

Paulo cresceu 30% nos últimos cinco anos, porém, 53% dessas empresas ainda não

se adaptaram ao computador, contra as 47% informatizadas. Os dados são de uma

pesquisa divulgada pelo SEBRAE/SP, realizada no ano de 2003, com 1.163

empresas paulistas. Como mostra gráfico abaixo:

Fonte: SEBRAE/SP 2003

Essa informação mostra que, é notória que micro e pequenas empresas têm,

mesmo que aos poucos, procurado se informatizar. O mesmo acontece com as

micropequenas empresas no ramo de informática que são facilmente encontradas

em vários lugares, como por exemplo, na zona sul do Estado de São Paulo que é a

região da empresa que efetuamos a pesquisa. Algumas microempresas no ramo de

informática são encontradas na região e isso promove a competitividade. É de se

esperar que micropequenas empresas tenham suas particularidades em

administração por ter porte dos mais variados, sendo que, na microempresa de

pequeno porte, o empresário tem que ter um “conhecimento” para poder administrar

bem o negócio. Uma das formas de se manter essa microempresa funcional é ter um

sistema de gestão que ajude a manter o fluxo, por exemplo, de entradas, saídas e

vendas.

Para um dono ou gerente de empresa que precisa estar sempre controlando o

que entra e o que sai do estoque, uma das dicas que deve ser seguida é conseguir

Page 10: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

10

um bom e confiável sistema que lhe auxilie na administração de todo o material de

forma que ele consiga ainda realizar suas outras funções.

Fazendo uma pesquisa em sites de internet, empresários são apresentados

aos mais novos e eficientes sistemas que existem atualmente no mercado. Você

encontra desde gratuitos a pagos através de uma quantia simples que pode ser

interpretada como investimento.

Caso o empresário não saiba direito como operar o sistema de controle de

estoque, existem ainda muitos sites disponíveis explicando detalhadamente como

proceder com todo tipo de operação que o pacote do sistema traz junto.

Além disso, antes de adquirir o sistema, o empresário pode escolher em que

tipo de arquivo deseja o pacote, podendo optar sempre pelo tipo de arquivo que ele

possua maior afinidade e lhe apresente os resultados de forma que ele possa

interpretá-los da melhor maneira possível. Sistemas de controle de estoque existem

muitos, sendo possível escolher aquele que lhe agrade mais, como por exemplo, o

SIE que é um sistema para controle de estoque e O.S, o Restages 2.6.0 que

gerencia bar e restaurantes, há espaço para novos programas e complementos, pois

quanto mais moderno melhor. Atendendo especificamente a um modelo de negócio,

que no caso é para microempresa no ramo de informática, há mercado para este

tipo de programa.

Utilizamos como estudo de caso uma micro-pequena empresa no ramo de

informática, a Laser Informática, onde fizemos uma pesquisa no sistema instalado

para controle de estoque e, a partir daí, desenvolvemos esse projeto, o AlphaCE,

pois atualmente a empresa encontra-se com problemas na administração de seu

estoque.

O nome AlphaCE, alpha = primeiro em grego e CE = controle de estoque,

surgiu como projeto do grupo para essa empresa, não de forma comercial. A

principal necessidade é incorporar o controle de estoque, pois de acordo com o

levantamento efetuado, a empresa sofre com o problema de não ter registro no

sistema da saída do item, e como consequência, não tem como acompanhar a

quantidade do item que ainda há em estoque.

Utilizando dessa dificuldade que a microempresa enfrenta com o sistema, o

objetivo foi verificarmos a possibilidade de fazer um programa que seja mais

completo, para atender a necessidade de baixa de estoque e ter um sistema usual.

Page 11: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

11

1. A Empresa

A empresa atua no ramo de informática desde 1997, foi idealizada por um

técnico descontente com a empresa onde trabalhava.

Resolveu assim fundar a micro empresa de informática onde há 16 anos,

presta os serviços de manutenção em micros, monitores, impressoras, notebook e

conta também com venda direta no balcão de vários produtos sendo eles, por

exemplo, placas de rede, placa mãe, teclado, mouse, entre outros itens.

1.1 Estrutura e Funcionamento

Consolidada há 15 anos no mercado, atualmente possui 5 funcionários, sendo

3 técnicos de informática, 1 recepcionista e 1 administrador/responsável pela área

comercial.

Com essa estrutura, atende em média 130 clientes / mês, de segunda a sexta

feira, sendo atendimentos a domicílio e atendimento no balcão da loja.

Oferece os serviços de manutenção de micros e instalação de software.

Empresa é localizada no bairro Vila Emir, São Paulo/SP, tendo como

estrutura 4 cômodos, sendo separados por laboratório, recepção, estoque e área de

descarte de dejetos. A loja tem em torno de 200m².

1.2 Aplicação Atual

Atualmente utiliza um sistema de gestão de estoque que é o Sistema

Aplicativos Comercias e Ordem de Serviço versão 2002. Fizemos o nosso projeto a

partir desse sistema.

Sistema de gestão de estoque que controla entradas de notas, estoque atual,

relatórios e emite ordem de serviço, mas quando há saída do estoque, o sistema não

registra a saída de um determinado produto.

1.3 Atual Estrutura de Controle

Foi detectada uma falha durante o ano de 2005 no controle de saída de peças

do estoque. A empresa desenvolvedora do software foi contatada, não houve

retorno e, por consequência, até a presente data não foi solucionado o problema,

Um exemplo do problema encontrado pela empresa é quando um cliente

deixa um microcomputador para manutenção e o técnico da empresa verifica que

tem que haver a troca de uma peça.

É gerada a ordem de serviço, posteriormente o técnico faz o conserto e a

recepcionista fecha a ordem de serviço. É gerado o boleto para pagamento.

Page 12: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

12

Cliente efetua o pagamento, mas essa venda não gera uma movimentação de

saída de estoque. Uma falha grave, pois não tem como confiar nesse sistema para

fazer um abastecimento de estoque com peças para serem repostas.

Page 13: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

13

2. Funcionamento de Controle de Estoque

Controle de estoque é o procedimento adotado para registrar, fiscalizar e gerir

a entrada e saída de mercadorias e produtos da empresa. O Controle de estoque

deve ser utilizado tanto para matéria-prima, mercadorias produzidas e/ou

mercadorias vendidas.

É uma área muito importante de uma empresa, grande ou pequena, pois é

através dele que ela será capaz de prever o quanto que será necessário comprar no

próximo pedido ao fornecedor, além de fornecer informações úteis sobre as vendas.

2.1 Funções do controle de estoque

A administração do controle de estoque deve minimizar o capital total

investido em estoques, pois ele é caro e aumenta continuamente, uma vez que, o

custo financeiro também se eleva. Uma empresa não poderá trabalhar sem estoque,

pois, sua função amortecedora entre vários estágios de produção vai até a venda

final do produto.

O controle de estoque é de suma importância para a empresa, sendo que se

controlam os desperdícios, desvios, apuram-se valores para fins de análise, bem

como, apura o demasiado investimento, o qual prejudica o capital de giro.

Quanto maior é o investimento, também maior é a capacidade e a

responsabilidade de cada setor da empresa.

Os objetivos dos departamentos de compras, de produção, de vendas e

financeiro, deverão ser conciliados pela administração de controle de estoques, sem

prejudicar a operacionalidade da empresa. A responsabilidade da divisão de

estoques já é antiga; os materiais caem sobre o almoxarife, que zela pelas

reposições necessárias.

Na administração moderna, a responsabilidade dos estoques fica sob um

setor de estoque, que o gerencia. Os departamentos tradicionais ficam livres desta

responsabilidade e podem dedicar-se à sua função primária.

Page 14: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

14

2.2 Objetivos do Controle de Estoque

O objetivo do controle de estoque é aperfeiçoar o investimento em estoque,

aumentando o uso dos meios internos da empresa, diminuindo as necessidades de

capital investido.

O estoque do produto acabado, matéria-prima e material em processo não

serão vistos como independentes. Todas as decisões tomadas sobre um dos tipos

de estoque influenciarão os outros tipos. Às vezes acabam se esquecendo dessa

regra nas estruturas de organização mais tradicionais e conservadoras.

O controle de estoque tem também o objetivo de planejar, controlar e

replanejar o material armazenado na empresa.

2.3 Políticas de Estoque

A administração geral da empresa deverá determinar ao departamento de

controle de estoque, o programa de objetivos a serem atingidos, isto é, estabelece

certos padrões que sirvam de guias aos programadores e controladores e também

de critérios para medir o desenvolvimento do departamento.

Estas políticas são diretrizes que, de maneira geral, são as seguintes:

a) Metas de empresas quando a tempo de entrega dos produtos ao cliente;

b) Definição do número de depósitos de almoxarifados e da lista de materiais

a serem estocados nele;

c) Até que nível deverá flutuar os estoques para atender uma alta ou baixa

demanda ou uma alteração de consumo;

d) As definições das políticas são muito importantes ao bom funcionamento

da administração de estoques.

2.4 Princípios Básicos para o Controle de Estoques

Para se organizar um setor de controle de estoque, inicialmente deveremos

descrever suas principais funções:

a) Determinar o que deve permanecer em estoque. Número de itens;

b) Determinar quando se deve reabastecer o estoque. Prioridade;

c) Determinar a quantidade de estoque que será necessário para um período

pré-determinado;

d) Acionar o departamento de compras para executar a aquisição de estoque;

e) Receber, armazenar e atender os materiais estocados de acordo com as

necessidades;

Page 15: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

15

f) Controlar o estoque em termos de quantidade e valor e fornecer

informações sobre sua posição;

g) Manter inventários periódicos para avaliação das quantidades e estados

dos materiais estocados;

h) Identificar e retirar do estoque os itens danificados.

Existem determinados aspectos que devem ser especificados, antes de se

montar um sistema de controle de estoque.

Um deles refere-se aos diferentes tipos de estoques existentes em uma

fábrica. Os principais tipos encontrados em uma empresa industrial são: matéria-

prima, produto em processo, produto acabado e peças de manutenção.

Page 16: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

16

3. Levantamento de Requisitos

Neste capítulo objetivamos mostrar o que fizemos para nos organizar

utilizando o cronograma, WBS e escopo.

3.1 Cronograma

Neste capítulo temos como objetivo mostrar como foram as reuniões sobre o

tcc.

Agosto/11

Reuniões para definição do grupo;

Funções de cada integrante;

Escolha do tema;

Custo do trabalho;

Inicio do desenvolvimento do trabalho;

Tema já definido;

Reuniões agendadas com o nosso orientador Ismael;

Todos integrantes deverão comparecer as reuniões.

Setembro/11

Mais reuniões com orientador;

Encontro do grupo para fechar os trabalhos de agosto sem alteração;

Avaliação 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 reunião.

Outubro/11

Inicio da parte pratica do programa;

Criação das tabelas;

Criação dos diagramas;

Avaliação do orientador;

Melhorar tabelas pós-avaliação;

Melhorar diagramas pós-avaliação;

Finalizar o desenvolvimento da UML e DER;

Page 17: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

17

Passar para o DBdesigner;

Iniciar a criação do banco em Mysql;

Avaliação final das tabelas e banco com orientador;

Iniciar a criação do programa;

Desenvolver relatório do trabalho realizado.

Novembro/11

Reunião com o orientador Ismael;

Avaliação do que foi feito ate agora;

Fazer as correções;

Entregar TCC e o DER para avaliação final do semestre;

Nova reunião com o orientar para poder informar sua avaliação sobre o

desenvolvimento do trabalho;

Desenvolver a pesquisa de campo;

E, escolha de um ícone para o trabalho.

Apresentação em PowerPoint para o professor João;

Esboço das telas em visual Studio;

Reunião do grupo para avaliar o uso das ferramentas no desenvolvimento do

tcc.

Dezembro/11 e Janeiro/12

Contato do grupo somente via e-mail, para troca de informação, ideias,

atualizações no conteúdo e no trabalho.

Fevereiro/12

Iniciar com uma reunião entre o grupo;

Definições do projeto;

Novo nome para o projeto;

Primeiras telas do programa;

Reunião para atualização de tcc e melhorias do projeto;

Revisão dos diagramas e relatórios.

Março/12

Apresentação do relatório do tcc;

Page 18: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

18

Reunião de grupo em sala com professor;

Melhorar tcc e desenvolvimento da programação;

Agendar reunião com o orientador;

Finalizar relatório para entregar aos professores;

Abril/12

Finalizar banco;

Finalizar criação de tabelas;

Reuniões em grupo;

Reuniões com orientador;

Reuniões com professores em sala de aula;

Finalizar telas do programa;

Verificar sua funcionalidade;

Correções;

Avaliação do orientador e dos professores de sala sobre o trabalho

apresentado.

Maio/12

Reuniões com orientador sobre apresentação para a pré-banca;

Melhorar e atualizar dados de apresentação;

Apresentação do trabalho em PowerPoint;

Avaliação da pré-banca;

Revisões e correções finais do projeto;

Reunião do grupo para avaliações finais;

Projeto funcionando por completo;

Considerações finais;

Nova reunião com orientador sobre dicas de apresentação.

Junho/12

Reunião do grupo;

Todo o trabalho finalizado;

Funcionalidade do sistema no ar;

Entrega;

Apresentação a Banca;

Page 19: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

19

Reunião final grupo e orientador.

Page 20: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

20

3.2 Declaração de escopo

Neste capítulo estamos apresentado à declaração de escopo do projeto.

Produto final Controle de estoque - AlphaCE

Objetivos, problemas a resolver

Software para controle de estoque, com o objetivo de dar à micro empresa uma ferramenta de fácil manuseio e que atenda as expectativas para um ótimo controle de estoque

Posicionamento estratégico

Projeto que atende a área de informática das micro e pequenas empresas.

Descrição do produto (briefing)

Software que utiliza Mysql e visual basic como ferramentas.

Principal diferencial a ser explorado

Produto de fácil manuseio e com fácil instalação. Bem atualizado.

Subprodutos e serviços adicionais

Funções de cadastro de clientes, fornecedor, pagamento (cartão, boleto, cheques), endereço, ordem de serviço e outros itens.

Características especiais do produto para o cliente final

Uma funcionalidade melhor e prestar um melhor atendimento ao cliente. Ser mais rápido.

Produtos do projeto

- Construção da ideia - Definição do tema - Definição de tarefas - Começo de esboço das opções do sistema - Desenho dos diagramas - Diário de bordo e tcc - Utilizando Mysql e Visual Studio 2010 - Telas e Banco de dados - Testes e Correções - Finalizando processos - Apresentação

Comunicação para o projeto

Integrantes do projeto: André, Douglas, Ilbis, João Paulo, Robson e Wellington. Comunicação por email e reuniões em aula, matéria TCC.

Mudanças estruturais necessárias (na organização, no ambiente de publicação)

Depois que definido o tema, não houve maiores mudanças de estrutura em relação ao projeto. Somente aperfeiçoando a ideia para ter um programa que faça o que é proposto. Durante o processo, 2 integrantes entraram no grupo. Troca de orientador.

Page 21: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

21

Aquisições necessárias

Até o momento não foi identificado à necessidade para aquisição de algo a mais para o funcionamento do sistema.

Premissas, ressalvas, observações

A questão sobre site do produto está sendo levando em consideração. Primeiramente, estaremos oferecendo para a primeira empresa, e a partir daí, fazer um marketing mais avançado sobre o produto. Estamos cogitando a possibilidade da criação de um site..

Métodos para verificar os resultados

Para o lançamento: A realização de testes de usabilidade e de funcionalidade pela equipe de projeto pode homologar o site para lançamento. A partir da funcionalidade e aceitação por parte dessa primeira empresa, avançaremos para outras demais. Para o negócio:.O administrador do programa terá acesso a vendas, resultados, relatórios. Compararemos com o programa anterior e teremos uma noção do que melhorar para entrar no mercado de programas de controle de estoque.

Revisão deste plano de projeto

Revisado 12/06/2012

Final da arquit. da informação

Junho/2012

Lançamento da versão beta

Versão beta 12/06/2012

Lançamento do produto

Versão final julho/2012

Page 22: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

22

3.3 WBS (Work Breakdown Structure)

Neste capitulo o objetivo e mostrar como ficou a organização do grupo, por

meio do WBS.

Controle de Estoque

Alphatec

Controle Estoque

Funcionando

Desenvolvimento

Projeto

Relatório/

Apresentação TCC

Distribuição das

Tarefas

Discussão Tema

Inicio do

Projeto

WBS e

Cronograma

Diagrama de

Classes

e Caso de Uso

DER/MER

Testes de

Sistema

Visual do Banco

de Dados

(Visual Studio)

Banco Dados

(MySQL)

PlanejamentoEscopo do

Projeto

Script do Banco

de Dados

Page 23: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

23

4. Modelagem Lógica

A finalidade deste capítulo é demonstrar a interação que queremos que o

sistema tenha entre o cliente e a empresa/funcionário e assim, determinar a

interação entre eles.

4.1 Diagramas de Caso de Uso

No capitulo mostramos a interação sistema / cliente e determinar o melhor

para esse ciclo.

System

Atendente

Tecnico

Gerente

Supervisionar func

Cadastro de clientes

Cadastro de equip

Excluir clientes

Consertar

Passar orçamento

Registrar entrada equip.

Fechar OS

Consultar

Excluir equipamentos

Receber pagamento

Relatorio

Fechar o caixa

Abrir o caixa

Page 24: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

24

4.2 Diagrama de Classe

No diagrama de classe, visualizamos as opções que queremos que haja no

sistema. Dividimos em parte 1 e 2 para melhor visualização: Parte 1

Page 25: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

25

Parte 2

Page 26: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

26

4.3 MER- Modelo de Entidade Relacional

Fazer o modelo de entidade relacional nos ajudou a representar um modelo

conceitual de negócio.

Telefone Contato

Contato

Funcionário

Fornecedor

Contato

Cliente

Entrega Produto

Endereço

Cargo Filhos

Ordem de Serviço

OcupaçãoDependente

Emissão

Comprovante

Local

Localização

Localização

Recibo

Pagamento

Confirmação

Pagamento

Serviço

Venda

Item_venda

Prestação

Serviço

Produto

Tipo

Pagamento

N

1

1

1

N

1

N

N

1

1

N

N

1

1

N

1

1

1

1 N

1

1

N

N

1

N1

1

1

Equipamento

1

1

CartãoBoleto

Cheque

Quantidade

Escolha

Pagamento

Escolha

Pagamento Escolha

Pagamento

1 1

N

N

N

1

1

1

Page 27: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

27

5. Desenvolvimento da aplicação

O sistema terá diversas opções de funcionamento, mas dentre todas essas

opções, o maior objetivo da nossa criação 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 saída de um produto ou na

emissão de uma ordem de serviço, ter um controle de estoque.

O sistema terá todos os itens e produtos oferecidos por essa empresa

cadastrados.

Os usuários deverão fazer um cadastro, onde será criado um login e senha e

a partir daí, terá acesso ao sistema. Senha de uso pessoal.

Os clientes serão cadastrados onde será criado um banco de dados para um

melhor controle e auxilio na administração dessa empresa e criar um histórico.

Assim, haverá uma maior proximidade com os clientes sabendo informações e

facilitando o contato com eles.

Esse sistema terá como parte integrada do controle do estoque as vendas,

forma de pagamentos, cadastro pessoa física e jurídica, acesso restrito de usuário e

tendo um administrador do sistema, que fará com que um usuário comum não faça

alterações no sistema.

Terá emissões de ordem de serviço quando for prestado um atendimento a

um cliente, com descrição do serviço oferecido e prestado no caso de venda

descrição do produto vendido, horário, data, nome do prestador do serviço, um

código da ordem de serviço.

Oferecerá, também, diversas formas de pagamento no sistema como:

dinheiro, cheque e cartão. Forma de pagamento a ser escolhida pelo cliente.

E, o cliente com essa ordem em mãos, quando for efetuar o pagamento, a

recepcionista poderá usar o código dessa ordem de serviço para constatar os dados

e já emitir no próprio sistema as formas de pagamento desse cliente e finalizar a

prestação do serviço, facilitando assim, uma melhor gestão administrativa da

contabilidade da empresa com dados mais precisos.

Isso se o cliente ou a empresa desejar ter separadamente as ordens de

serviços, pois o sistema emitirá, diretamente por um e-mail corporativo, um número

desse código com os dados do cliente como nome, RG e telefone de contato para

que a recepcionista constate os dados e, assim, emitir no próprio sistema as formas

Page 28: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

28

de pagamento desse cliente e finalizar a prestação do serviço em uma só ordem de

serviço, diminuindo custos com a impressão de folhas, tendo em vista a consciência

ambiental.

Alem dos acessos de usuário comum e usuário administrador, cadastros de

clientes.

O sistema também terá alteração de cadastro, exclusão ou inativação de

cadastro, atualização de cadastro, efetuara novos cadastros e terá um banco de

dados.

5.1 Scripts do Banco de Dados

Create database AlphaCE

Create table Telefone

(codtelefone int primary key not null,

Telefone varchar (13),

Celular varchar (13),

FAX varchar (13));

Create table Endereco

(codendereco int primary key not null,

Logradouro varchar (50),

Numero Varchar (7),

Complemento varchar (50),

CEP varchar (9),

Bairro varchar (30),

Cidade Varchar (20),

Estado Varchar (2));

Create table PJuridica

(codpjuridica int primary key not null,

Razao_social varchar (30),

CNPJ varchar (18),

IE varchar (13));

Page 29: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

29

Create table Pfisica

(codpfisica int primary key not null,

RG varchar (12),

CPF varchar (14));

Create Table Cargo

(Codcargo int auto_increment primary key not null,

funcao varchar (50));

Create Table Cliente

(Codcliente int auto_increment primary key not null,

Nome varchar (50),

Data_nasc varchar (10),

Data_cadastro varchar (10),

Email varchar (100),

Site varchar (100),

Obs varchar (300),

codtelefone int,

codendereco int,

Codpjuridica int,

codpfisica int,

foreign key (codtelefone) references telefone (codtelefone),

foreign key (codendereco) references endereco (codendereco),

foreign key (codpjuridica) references pjuridica (codpjuridica),

foreign key (codpfisica) references pfisica (codpfisica));

Create Table Funcionario

(Codfunc int auto_increment primary key not null,

Nome varchar (50),

Data_nasc varchar (10),

Data_cadastro varchar (10),

Login Varchar (20),

Senha Varchar (20),

Email varchar (100),

Page 30: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

30

Obs varchar (300),

Tipo_usuario varchar(14),

status varchar(7),

codtelefone int,

codendereco int,

codpfisica int,

codcargo int,

foreign key (codtelefone) references telefone (codtelefone),

foreign key (codendereco) references endereco (codendereco),

foreign key (codpfisica) references pfisica (codpfisica),

foreign key (codcargo) references cargo (codcargo));

Create table Fornecedor

(codfornecedor int auto_increment primary key not null,

Nome varchar (50),

Representante varchar (50),

Data_cadastro varchar (10),

site varchar (50),

email varchar (50),

Obs varchar (200),

codtelefone int,

codendereco int,

Codpjuridica int,

foreign key (codtelefone) references telefone(codtelefone),

foreign key (codendereco) references endereco (codendereco),

foreign key (codpjuridica) references pjuridica (codpjuridica));

Create table Produto

(codproduto int auto_increment primary key not null,

Nomeproduto varchar (40),

Marca varchar (40),

Modelo Varchar (20),

Fabricante varchar (30),

Page 31: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

31

Datacompra varchar (10),

Garantialoja varchar (9),

Garantiaforn varchar (9),

Estoqueatual varchar (4),

Custocompra decimal (0000.00),

Custovenda decimal (0000.00),

obs varchar (200),

codfornecedor int,

Foreign key (codfornecedor) references fornecedor (codfornecedor));

Create table Equipamento

(codequip int auto_increment primary key not null,

Tipo varchar (20),

Marca varchar (20),

Modelo varchar (20),

NS varchar (30));

Create table OS

(codos int auto_increment primary key not null,

Dataentrada varchar (10),

Datasaida varchar(10),

Obs Varchar (200),

codfunc int,

codequip int,

codcliente int,

codproduto int,

Foreign key (codfunc) references funcionario (codfunc),

Foreign key (codequip) references equipamento (codequip),

foreign key (codcliente) references cliente (codcliente),

foreign key (codproduto) references produto (codproduto));

Create table LicagaoOSEquip

(codlig int auto_increment primary key not null,

codOs int,

Page 32: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

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),

Page 33: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

33

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),

Page 34: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

34

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));

5.2 Telas do programa AlphaCE

5.2.1.1 Tela de login

A tela abaixo é a tela de login, onde o funcionário faz o login e terá acesso ao

programa para, dependendo do tipo de acesso (administrador ou usuário), ter

acesso total ou não ao sistema AlphaCE.

Page 35: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

35

5.2.1.2 Códigos da tela de login Imports MySql.Data.MySqlClient Public Class Form_login Dim senha, nome_do_login As String Dim tentativa, tentativa2, tentativa3 As Integer Private Sub Btn_ok_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_ok.Click Try conexao() cmd.CommandText = "select senha, login, tipo_usuario, status from funcionario where login = '" & MaskedTextBox1.Text & "'" reader = cmd.ExecuteReader() If reader.Read() Then nome_do_login = reader("login") senha = reader("senha") tipo_usuario_var = reader("tipo_usuario") status_var = reader("status") reader.Close() con.Close() If status_var = "ATIVO" Then If nome_do_login = MaskedTextBox1.Text Then If senha = MaskedTextBox2.Text Then Limpo.Show() servicos.ShowDialog() Me.Close() Else MsgBox("Senha incorreta!", vbExclamation) tentativa2 += 1 End If Else MsgBox("Login incorreto!", vbExclamation) tentativa += 1 End If Else MsgBox("O usuário está INATIVO", vbExclamation) tentativa3 += 1 End If Else MsgBox("Verifique o campo usuario.", vbExclamation) tentativa += 1 End If 'encerrar o sistema se houver 3 erros If tentativa = 3 Or tentativa2 = 3 Or tentativa3 = 3 Then MsgBox("Muitas tentativas erradas, o sistema será fechado!", vbCritical) Application.Exit()

Page 36: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

36

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("Após cadastrar um cargo, clique em voltar, clique no botão Funcionarios e cadastre um funcionário.", MsgBoxStyle.Information)

Page 37: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

37

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 Alteração de Senha

Esta tela é para o funcionário trocar a senha de acesso.

5.2.2.2 Código da tela Alteração de senha

Imports MySql.Data.MySqlClient Public Class Alterar_senha Dim Nomelogin, Senhalogin As String Private Sub btn_cancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_cancelar.Click

Page 38: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

38

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 formulário conexao() 'procedure de conexão e comando (cmd e con) cmd.CommandType = System.Data.CommandType.Text cmd.Connection = con 'variavel de conexão 'con.Open() 'abri a conexão com o banco de dados cmd.CommandText = "select login, senha from funcionario where login like '%" & Trim(TextBox1.Text) & "%'" 'Função trim, remove os espaços iniciais e finais. reader = cmd.ExecuteReader() 'comando para executar a reader reader.Read() 'variável reader para ler os dados selecionado na select Nomelogin = reader("login") Senhalogin = reader("senha") reader.Close() 'fechando a reader con.Close() 'fecha a conexão com o banco de dados Catch ex As Exception MsgBox("Usuario incorreto.", vbCritical) TextBox1.Focus() 'função focus, quando acontece algum erro o cursor volta para o campo especificado. End Try If MaskedTextBox1.Text = Senhalogin Then 'condição para a alteração de senha. A maskedtextbox tem de ser igual a variavel em questão. Try If MaskedTextBox2.Text = MaskedTextBox3.Text Then 'segunda condição, a senha que estiver igual na primeira condição irá fazer estas instruções. A nova senha da MaskedTextBox2 tem de ser igual a MaskedTextBox3 If MsgBox("Deseja alterar sua senha?", vbYesNo, "confirmação") = vbYes Then conexao() 'procedure de conexão e comando (cmd e con) cmd.Connection = con 'con.Open() 'abri a conexão 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 conexão com o banco de dados MsgBox("Senha alterada com sucesso.", vbInformation) Me.Close() 'btn_cancelar.Focus() 'função focus, após efetuar a alteração o botão cancelar fica selecionado.

Page 39: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

39

Else MsgBox("Alteração cancelada!", vbCritical) TextBox1.Focus() 'função focus, quando a alteração e cancelada o cursor volta para a textbox4 (campo login). End If Else MsgBox("Senha não confere!", vbCritical) MaskedTextBox2.Focus() 'função focus, quando a senha não 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 serviços(Menu Principal)

Esta tela principal do programa AlphaCE que tem a função de ajudar o

funcionário escolher o que vai fazer, como venda, cadastro de cliente, cadastro de

produtos, OS, estoque e administrador. Também, um menu superior para maior

acessibilidade.

5.2.3.2 Código da tela de serviços

Public Class servicos Private Sub Btn_cadclie_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_cadclie.Click Cad_cliente.Show()

Page 40: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

40

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

Page 41: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

41

End Sub End Class

5.2.4.1 Tela de Cadastro Geral

Clicando na opção Administrador, abrirá esse menu. Nele o funcionário

poderá fazer todos os tipos de cadastros mostrados na tela.

5.2.4.2 Códigos da tela de Cadastro Geral

Public Class Cadastro_Geral Private Sub btn_Cargo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Cargo.Click, Button1.Click cad_Cargo.Show() Hide() End Sub Private Sub btn_servico_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_servico.Click Cad_servico.Show() Hide() End Sub Private Sub Btn_Cliente_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Cliente.Click cad_fis_jur.Show() Hide() End Sub Private Sub Btn_funcionario_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_funcionario.Click

Page 42: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

42

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 opção de cargo, abrirá esse menu para cadastrar o cargo.

5.2.5.2 Código de Cadastro de Cargo

Imports MySql.Data.MySqlClient Public Class cad_Cargo

Page 43: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

43

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim con As MySqlConnection 'conexao Dim cmd As MySqlCommand 'consulta Dim codcargo_var As Integer = 0 Dim reader As MySqlDataReader con = New MySqlConnection cmd = New MySqlCommand cmd.CommandType = CommandType.Text con.ConnectionString = "server=localhost;User Id=root;password=etecia;Persist Security Info=True;database=alpha" con.Open() cmd = con.CreateCommand With cmd .CommandType = System.Data.CommandType.Text .CommandText = "select codcargo from cargo where codcargo=(select max(codcargo) from cargo)" End With reader = cmd.ExecuteReader If reader.Read() Then codcargo_var = reader("codcargo") reader.Close() End If con.Close() con.Open() With cmd .CommandType = CommandType.Text .CommandText = "INSERT INTO Cargo(codcargo, funcao) Values (@codcargo, @funcao)" .Parameters.Add("@codcargo", MySqlDbType.Int32) .Parameters("@codcargo").Value = codcargo_var + 1 .Parameters.Add("@funcao", MySqlDbType.VarChar) .Parameters("@funcao").Value = textbox_cargo.Text .ExecuteNonQuery() con.Close() End With textbox_cargo.Clear() textbox_cargo.Focus() Me.Refresh() End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Cadastro_Geral.Show() Hide() End Sub

Page 44: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

44

Private Sub textbox_cargo_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles textbox_cargo.KeyPress If e.KeyChar = Chr(13) Then Button1_Click(Me, EventArgs.Empty) 'Evento click, quando o usuario digita enter o botão é clickado textbox_cargo.Focus() 'após pesquisar o cursor é movido para a textbox 2 End If End Sub Private Sub textbox_cargo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles textbox_cargo.TextChanged End Sub Private Sub cad_Cargo_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load End Sub End Class

5.2.6.1 Tela de Cadastro de Serviços

Clicando nesse menu, abrirá a opção para cadastrar o tipo de serviço.

5.2.6.2 Código da tela de Cadastro de Serviços

Imports MySql.Data.MySqlClient Public Class Cad_servico Private Sub btn_voltar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_voltar.Click Cadastro_Geral.Show() Hide() End Sub Private Sub btn_salvar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_salvar.Click Dim con As MySqlConnection 'conexao

Page 45: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

45

Dim cmd As MySqlCommand 'consulta Dim codservico_var As Integer = 0 Dim reader As MySqlDataReader con = New MySqlConnection cmd = New MySqlCommand cmd.CommandType = CommandType.Text con.ConnectionString = "server=localhost;User Id=root;password=etecia;Persist Security Info=True;database=alpha" con.Open() cmd = con.CreateCommand With cmd .CommandType = System.Data.CommandType.Text .CommandText = "select codservico from servicos where codservico=(select max(codservico) from Servico)" End With reader = cmd.ExecuteReader If reader.Read() Then codservico_var = reader("codservico") reader.Close() End If con.Close() con.Open() With cmd .CommandType = CommandType.Text .CommandText = "INSERT INTO Servico(codservico, funcao) Values (@codservico, @funcao)" .Parameters.Add("@codservico", MySqlDbType.Int32) .Parameters("@codservico").Value = codservico_var + 1 .Parameters.Add("@funcao", MySqlDbType.VarChar) .Parameters("@funcao").Value = TextBox_servico.Text .ExecuteNonQuery() con.Close() End With TextBox_servico.Clear() TextBox_servico.Focus() Me.Refresh() End Sub Private Sub TextBox_servico_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox_servico.TextChanged End Sub Private Sub Cad_servico_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load End Sub

Page 46: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

46

End Class

5.2.7.1 Tela de Cadastro Tipo de Clientes

Clicando nessa opção, o menu de cadastro que aparece são as opções de

cadastro de pessoa física e jurídica.

5.2.7.2 Código da tela de cadastro de Clientes

Public Class cad_fis_jur Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub Private Sub MenuStrip1_ItemClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolStripItemClickedEventArgs) End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Cad_cliente.Show() Hide() End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Cad_pjuridica.Show() Hide() End Sub

Page 47: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

47

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Cadastro_Geral.Show() Hide() End Sub Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Close() End Sub End Class

5.2.8.1 Tela de Cadastro de Cliente

No menu acima, clicando na opção de cadastro de cliente, abrirá esse menu

de cadastro. Aqui pode-se voltar a tela anterior, editar um cadastro, localizar e

excluir.

Page 48: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

48

Clicando na opção localizar, abrirá uma painel de consulta.

5.2.8.2 Código da tela de cadastro de cliente

Imports mysql.data.mysqlclient Public Class Cad_cliente Private Sub FUN_Padrao() btn_Salvar.Visible = True btn_Editar.Visible = False End Sub Private Sub FUN_Editar() btn_Salvar.Visible = False btn_Editar.Visible = True End Sub Private Sub FUN_Limpar() Textbox_nome.Clear() Textbox_endereco.Clear() Textbox_numero.Clear() Textbox_comp.Clear() Mask_nasc.Clear() Textbox_bairro.Clear() TextBox_cidade.Clear() Masked_UF.Clear() Maskbox_telefone.Clear() Maskbox_celular.Clear() Mask_fax.Clear() Mbox_rg.Clear() MBox_cpf.Clear() TextBox_obs.Clear()

Page 49: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

49

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

Page 50: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

50

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)

Page 51: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

51

.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

Page 52: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

52

.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 Cliente(Nome, data_cadastro, Data_nasc, email, site, OBS, codendereco, codtelefone, codpfisica) VALUES (@nome, @data_cadastro, @Data_nasc, @email, @site, @obs, @codendereco, @codtelefone, @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("@site", MySqlDbType.VarChar) .Parameters.Add("@OBS", MySqlDbType.VarChar)

Page 53: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

53

.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, "confirmação") = vbYes Then conexao() With cmd .CommandType = System.Data.CommandType.Text

Page 54: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

54

.CommandText = "select * from cliente where nome=@ncliente" .Parameters.Add("@ncliente", MySqlDbType.VarChar) .Parameters("@ncliente").Value = Textbox_nome.Text End With reader = cmd.ExecuteReader If reader.Read() Then codcliente_var = reader("codcliente") codendereco_var = reader("codendereco") codtelefone_var = reader("codtelefone") codpfisica_var = reader("codpfisica") End If reader.Close() con.Close() conexao() 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_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() conexao() With cmd .CommandType = CommandType.Text .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)

Page 55: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

55

.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()

Page 56: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

56

FUN_Padrao() Else MsgBox("Alteração cancelada!", vbExclamation) Textbox_nome.Focus() 'Função 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 Funcionários

Voltando a tela de cadastro geral, ao clicar na opção funcionários, abrirá a

tela de cadastro de funcionário, onde ele já cadastrará um logon e senha de acesso.

É necessário preencher todos os campos.

Page 57: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

57

Clicando na opção localizar, abrirá um painel de consulta.

5.2.9.2 Código da tela de cadastro de funcionário

Imports MySql.Data.MySqlClient Public Class Cad_funcionario Private Sub FUN_Padrao() btn_Salvar.Visible = True btn_Editar.Visible = False btn_Cancelar.Visible = False GBX_Status.Enabled = False End Sub Private Sub FUN_Editar() btn_Salvar.Visible = False btn_Editar.Visible = True btn_Cancelar.Visible = True GBX_Status.Enabled = True End Sub Private Sub FUN_Limpar() Textbox_nome.Clear() Textbox_endereco.Clear() Textbox_num.Clear() Textbox_comp.Clear() Mask_cep.Clear() TextBox_bairro.Clear() TextBox_cidade.Clear() Masked_UF.Clear() Mask_telefone.Clear() Mask_celular.Clear() Mask_nasc.Clear()

Page 58: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

58

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

Page 59: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

59

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

Page 60: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

60

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

Page 61: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

61

.CommandText = "INSERT INTO telefone(codtelefone, telefone, celular) VALUES (@codtelefone, @telefone, @celular)" .Parameters.Add("@codtelefone", MySqlDbType.Int32) .Parameters.Add("@telefone", MySqlDbType.VarChar) .Parameters.Add("@celular", MySqlDbType.VarChar) .Parameters("@codtelefone").Value = codtelefone_var + 1 .Parameters("@telefone").Value = Mask_telefone.Text .Parameters("@celular").Value = Mask_celular.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 .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")

Page 62: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

62

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

Page 63: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

63

.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, "confirmação") = 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")

Page 64: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

64

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()

Page 65: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

65

.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()

Page 66: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

66

FUN_Padrao() Else MsgBox("Alteração cancelada!", vbExclamation) Textbox_nome.Focus() 'Função 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 opção fornecedro, abrirá a tela

de cadastro de fornecedor. Nessa tela, pode voltar a tela anterior, alterar cadastro,

localizar e cancelar.

Page 67: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

67

Clicando na opção localizar, abrirá um painel de consulta.

Page 68: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

68

5.2.10.2 Código na tela de cadastro de fornecedor

Imports MySql.Data.MySqlClient Public Class Cad_fornecedor Private Sub FUN_Padrao() 'Criação da função para ativar ou desativar botões Btn_salvar.Visible = True btn_editar.Visible = False btn_cancelar.Visible = False End Sub Private Sub FUN_Limpar() 'Criação da função para limpar os campos do formulario Textbox_razao_social.Clear() Textbox_endereco.Clear() Textbox_num.Clear() Textbox_comp.Clear() Mask_cep.Clear() TextBox_bairro.Clear() TextBox_cidade.Clear() Masked_UF.Clear() Mask_telefone.Clear() Mask_celular.Clear() Mask_data_cad.Clear() TextBox_obs.Clear() Textbox_email.Clear() TextBox_site.Clear() TextBox_representante.Clear() MasKtBox_fax.Clear() MBox_cnpj.Clear() MBox_IE.Clear() Textbox_razao_social.Focus() End Sub Private Sub FUN_Proximo() 'Criação da função de pesquisa para saber o proximo codigo do BD, neste caso FORNECEDOR conexao() 'Utilizando uma função dentro da outra Try With cmd .CommandType = System.Data.CommandType.Text .Connection = con .CommandText = "select codfornecedor from fornecedor where codfornecedor = (select max(codfornecedor) from fornecedor)" End With reader = cmd.ExecuteReader If reader.Read() Then codfornecedor_var = reader("codfornecedor") reader.Close() con.Close() LBL_codforn.Text = codfornecedor_var + 1 'ADICIONAR O COD E SOMAR MAIS 1 NO FORM Else LBL_codforn.Text = 1

Page 69: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

69

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

Page 70: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

70

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 .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

Page 71: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

71

.CommandText = "INSERT INTO pjuridica(codpjuridica, razao_social, cnpj, ie) VALUES (@codpjuridica, @razao_social, @cnpj, @ie)" .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 + 1 .Parameters("@razao_social").Value = Textbox_razao_social.Text .Parameters("@cnpj").Value = MBox_cnpj.Text .Parameters("@ie").Value = MBox_IE.Text .ExecuteNonQuery() con.Close() End With con.Open() cmd = con.CreateCommand 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

Page 72: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

72

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_cadastro, @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() 'Função 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

Page 73: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

73

FUN_Padrao() 'Função para habilitar ou desabilitar os botões Salvar,Editar, Cancelar conexao() 'Função e conexão com o BD FUN_Proximo() 'Função de pesquisa para saber o proximo codigo do BD, neste caso FORNECEDOR End Sub Private Sub btn_Localizar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Localizar.Click Painel_Fornecedor.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 fornecedor?", vbYesNo, "confirmação") = vbYes Then conexao() With cmd .CommandType = System.Data.CommandType.Text .CommandText = "select * from fornecedor where codfornecedor=@codfornecedor" .Parameters.Add("@codfornecedor", MySqlDbType.VarChar) .Parameters("@codfornecedor").Value = codfornecedor_var End With reader = cmd.ExecuteReader If reader.Read() Then codendereco_var = reader("codendereco") codtelefone_var = reader("codtelefone") codpjuridica_var = reader("codpjuridica") End If reader.Close() con.Close() con.Open() With cmd .CommandType = CommandType.Text 'Alteração no banco de dados da tabela endereço .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)

Page 74: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

74

.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 'Alteração 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 alteração 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

Page 75: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

75

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("Alteração 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()

Page 76: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

76

End Sub End Class

Obs: Voltando novamente a tela de cadastro geral, o botão que falta é o

alteração de senha, que leva a mesma tela de alteração de senha que tem na tela

de login do programa.

5.2.11.1 Tela Estoque*

Voltando a tela principal, ao clicar na opção 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 opção OS, abrirá um cadastro de OS,

onde o número de OS é gerado automaticamente. Pode-se imprimir o recibo,

localizar por número de OS e gerar uma nova OS.

Page 77: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

77

Clicando na opção localizar, abrirá um painel para consulta de OS.

Page 78: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

78

5.2.12.2 Código da tela de OS*

Public Class OS Private Sub TextBox3_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox3.KeyPress If (e.KeyChar = "+") Then cad_fis_jur.Show() End If End Sub Private Sub TextBox3_TabStopChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox3.TabStopChanged End Sub Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox3.TextChanged End Sub Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress If (e.KeyChar = "+") Then cad_fis_jur.Show() End If End Sub Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged End Sub Private Sub Label3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label3.Click End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click End Sub Private Sub Form7_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load lbl_data_cadastro.Text = Date.Today TextBox1.Focus()

Page 79: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

79

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 opção produtos, abrirá a tela abaixo,

onde pode-se cadastar novos produtos, localizar e excluir.

Clicando na opção localizar, abrirá um painel de consulta.

Page 80: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

80

5.2.13.2 Código da tela de produtos

Imports MySql.Data.MySqlClient Public Class Cad_produtos Private Sub limpar_campos() Textbox_nome.Clear() Textbox_marca.Clear() Textbox_modelo.Clear() Textbox_fabricante.Clear() MaskBox_data_compra.Clear() TextBox_garantia.Clear() TextBox_garantia_forn.Clear() Textbox_fabricante.Clear() MaskBox_qtde.Clear() MaskBox_qtde_estoque.Clear() MaskBox_venda.Clear() MaskBox_custo.Clear() textbox_obs.clear() End Sub Private Sub FUN_Proximo() Dim reader As MySqlDataReader conexao() Try With cmd .CommandType = System.Data.CommandType.Text

Page 81: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

81

.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)

Page 82: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

82

.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 informações do produto?", vbYesNo, "confirmação") = vbYes Then conexao() With cmd .CommandType = System.Data.CommandType.Text

Page 83: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

83

.CommandText = "select * from produto where codproduto=@codproduto" .Parameters.Add("@codproduto", MySqlDbType.VarChar) .Parameters("@codproduto").Value = codproduto_var End With reader = cmd.ExecuteReader If reader.Read() Then codfornecedor_var = reader("codfornecedor") End If reader.Close() con.Close() con.Open() With cmd .CommandType = CommandType.Text .CommandText = "UPDATE produto SET nomeproduto=@nomeproduto, marca=@marca, Modelo=@modelo, fabricante=@fabricante, datacompra=@datacompra, garantialoja=@garantiloja, garantiaforn=@garantiaforn, estoqueatual=@estoqueatual, custocompra=@custocompra, custovenda=@custovenda, obs=@obs where codproduto=@codproduto" .Parameters.Add("@codproduto", MySqlDbType.Int32) .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("@codproduto").Value = codproduto_var .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 .ExecuteNonQuery() End With con.Close()

Page 84: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

84

MsgBox("Cadastro alterado com sucesso!", vbInformation) FUN_Proximo() limpar_campos() Else MsgBox("Alteração cancelada!", vbExclamation) Textbox_nome.Focus() 'Função focus, move o cursor para o campo informado End If Catch ex1 As Exception MsgBox(ex1.Message) End Try End Sub End Class

Obs: Voltando ao menu principal, clicando na opção cliente, abrirá a tela de

cadastro de cliente, que já foi mencionada anteriormente.

5.2.14.1 Tela de Vendas*

Voltando a tela principal, escolhendo a opção venda, abrirá a opção de

finalizar uma venda.

Obs: Tela em desenvolvimento.

Page 85: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

85

6. Requisitos Mínimos

Configuração mínima necessária para funcionamento do sistema.

Resolução: 1.024 x 768

Plataforma: Windows Xp

Configuração mínima: Celeron 1.6, 512Mb Ram, HD 40GB

Page 86: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

86

Conclusão

Trabalho de conclusão sobre o controle de estoque, construir um programa

que faça essa função.

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 função e,

assim, comparar com as nossas ideias e alcançar o objetivo que é oferecer um

programa que faz o controle de estoque.

Durante a busca e pesquisa, não tivemos problemas para elaborar o

programa e sua funcionalidade tivemos bastante informação da internet e do dia a

dia, por exemplo, do comércio em geral, supermercados, drogarias. Tivemos

dificuldade na parte de fazer o programa, sua programação/códigos, por termos

pouco conhecimento na área demoramos para encontrar um começo e várias

dificuldades para verificação de erros, mas tentamos ao máximo aprender para

acertá-los.

Assim, finalizar o programa que foca em controlar o estoque de

microempresas e, de forma simples, oferecer um sistema funcional que ajude a

microempresa no ramo de informática a desenvolver e ajudá-la a crescer.

Cremos que o objetivo principal do grupo foi concluído, apesar do projeto não

estar funcionando em seu total já que há telas que estão em desenvolvimento, a

ideia principal que é dar a baixa do estoque está funcionando corretamente.

Disponibilizaremos o projeto na escola em seu total (códigos, telas) para que se

houver algum outro grupo de estudante interessado, possa continuar.

Terminado o projeto, tentaremos implementar na empresa em questão para

fazer os testes.

Colocamos o aprendizado do curso em prática e assim, levarmos a questão

do quão grande é esse tipo de mercado, e mesmo com as tecnologias cada vez

mais avançadas, ainda há muito o que informatizar em todos os tipos de comércio.

Page 87: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

87

Referência bibliográfica

1. Centro Brasileiro de Apoio à Pequena e Média Empresa (SEBRAE) -

Controle de estoque. Disponível em: http://www.sebrae.com.br/uf/goias/para-

minha-empresa/controles-gerenciais/controle-de-estoque.

Acesso 12 Setembro 2011

2. Sistema de Controle de Estoque. Disponível em:

http://www.controleestoque.info/sistema-de-controle-de-estoque/.

Acesso 10 outubro 2011

3. Cury SG. Texto traduzido, MySQL. Disponível em:

http://www.insite.com.br/cpanel/MySQL.htm.

Acesso em 11 novembro 2011

4. Centro Brasileiro de Apoio à Pequena e Média Empresa (SEBRAE). A

informatização nas MPEs paulistas. Disponível em:

http://201.2.114.147/bds/BDS.nsf/F864F1EEEFFADD30832572B30065BABC/

$File/NT00035132.pdf

Acesso 13 março 2012

5. Cruz R. O que as Empresas podem fazer pela inclusão digital. Disponível em:

http://portal2.tcu.gov.br/portal/pls/portal/docs/2064400.PDF

Acesso em 19 abril 2012

Page 88: Etec “IRMÃ AGOSTINA” TRABALHO DE CONCLUSÃO DO …etecia.com.br/portaletecia/wp-content/uploads/2012/08/Controle-de... · Este Trabalho de Conclusão de Curso foi julgado e aprovado

88

Glossário

1. WBS (Work breakdown structure) é uma ferramenta de decomposição do trabalho

do projeto em partes manejáveis. É estruturada em árvore exaustiva, hierárquica (de

mais geral para mais específica) 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 diagramático que descreve

o modelo de dados de um sistema com alto nível de abstração. Ele é a principal

representação do Modelo de Entidades e Relacionamentos. É usado para representar o

modelo conceitual do negócio.

4. SQL (Structured Query Language) é um padrão internacional de consulta e retorno

de informações de bancos de dados.

5. MySQL é um software de código 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.