Objetivo: Interface para cadastramento de produtos.
-
Descrição
Realiza cadastro de produtos -
Fluxo principal:
Abrir a tela
Informar nome, descrição, quantidade, valor de compra, valor de venda, data de compra, data de início da venda, data de fim da venda. * R01, R02, R04;
No campo categoria, serão exibidas apenas as categorias que estejam dentro da faixa de preço do produto. * M01, R03
Ao clicar em salvar * R01, M02
Fecha a tela -
Fluxos complementares
Não se aplica -
Regras de negócio
R01: Todos os campos são obrigatórios
R02: Valor de compra de um produto não pode ser inferior ao valor de venda do mesmo
R03: A categoria do produto deve estar dentro da faixa de preço cadastrada na categoria, tendo como base o preço de venda do produto
R04: A data final de venda tem que ser superior a data de início da venda -
Métodos(As procedures precisam ser criadas)
M01: Executar procedure pSelCategByPreco
M02: Executar procedure plnsProduto
M03: Executar procedure pDelProduto
M04: Pedir confirmação antes de fechar a tela -
Exceções
Não se aplica -
Pré-condições
Não se aplica -
Pós-condições
Não se aplica -
Descritivo físico
Nome Campo (Origem do dado) [Tipo] Default Brancos(Sim/Não) {Tam} Consistência
Cod. Produto (Id_produto) [int] - N {10}
Nome (Nm_produto) [varchar] - N {50}
Descricao (Desc_produto) [text] - N {-}
Quantidade (Qtd_produto) [int] - N {5}
Valor Compra (Vlr_produto) [decimal] - N {4,2}
Valor venda (Vlr_venda) [decimal] - N {4,2}
Data compra (Dt_compra) [datetime] - N { - }
Data de inicio (Dt_ini_venda) [datetime] - N { - }
da venda
Data de fim (Dt_fim_venda) [datetime] - N { - }
da venda
Categoria (id_categoria) [int] - N { 2 } * Executar M01
- Botões e links
Botão/Link (Estado inicial) [Condições de habilitaçãp] {Ação}
Salvar ( H ) [* R01] {* M02}
Alterar ( H ) {* M01}
Deletar ( H ) {* M03}
- Informações auxiliares
Categorias cadastradas:
ID Nome Vlr_inicial Vlr_final
1 categoria 1 00.0 10.99
2 categoria 2 11.0 25.99
3 categoria 3 26.0 50.99
4 categoria 4 51.0 99.99
- Acesso à base de dados
Servidor: sqllw01
Database: selecao
Tabelas: tblCategoria
tblProduto
UserName: usrSelecao
Password: 1234
…
Bom, iniciei poucas coisas e espero (se Deus quiser) que esteja ao menos no caminho certo.
public class Produto{
public int id_produto;
public int id_categoria;
public int qtd_produto;
public varchar nm_produto;
public text desc_produto;
public decimal vlr_compra;
public decimal vlr_venda;
public dateTime dt_compra;
public dateTime dt_ini_venda;
public dateTime dt_fim_venda;
public static void main(String[] args){
Produto p = new Produto();
decimal vlrCompra = vlrCompra(vlr_compra > 0.0 && vlrCompra < 51.0);
decimal vlrVenda = vlrVenda(vlrVenda > 10.99 && vlrVenda < 99.99);
dateTime dt_ini_venda = dt_ini_venda(dt_ini_venda && dt_ini_venda);
dateTime p.dt_fim_venda = dt_fim_venda(dt_fim_venda && dt_fim_venda);
if(vlr_venda > vlr_compra){
return vlr_compra;
}else{System.out.println("Valor invalido!");
if(dt_ini_venda < dt_fim_venda){
return dt_ini_venda;
}else{System.out.println("Data invalida!");}
}
}
}
…
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Botoes extends JFrame{
privat Button txtBotao
imgBotao;
}
…
public class Botoes{
super("Botao");
Container c = getContentPane();
c.setLayout(new FlowLayout());
txtBotao = new JButton();
c.add(txtBotao);
Icon img1 = new ImageIcon("smallimg.gif");
Icon img2 = new ImageIcon("UNDERCON.gif");
imgBotao = new JButton(img1);
imgBotao.setRolloverIcon(img2);
imgBotao.setHorizontalTextPosition(SwingConstants.CENTER);
imgBotao.setVerticalTextPosition(SwingConstants.BOTTOM);
c.add(imgBotao);
c.add(txtBotao);
ButtonTratar tratarB = new ButtonTratart();
imgBotao.addActionListener(tratarB);
txtBotao.addActionListener(tratarB);
setSize(300,150);
show();
public static void main(String[] args){
aplic.addWindowListener(new WindowAdapter()
}
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
private class ButtonTratar implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
JOptionPane.showMessageDialog(null, "Voce pressionou: " + e.getActionCommand());
}
}
}
…
Várias coisas fui copiando de apostilas, por isso teria que substituir alguns dados. Se puderem dar uma força. Valeu.