import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.DecimalFormat;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
import Modelo.VendaProduto;
//import controle.Utilitarios;
// Ctrl+Shift+F => Formata o código
// Ctrl+A e Ctrl+i => Formata a seleção
public class EfetuarVenda extends JFrame {
private JLabel rotulo1, rotulo2, rotulo3,rotulo4,rotulo5,rotulo6,rotulo7,rotulo8,rotulo9;
private JTextField caixa1, caixa2, caixa3,caixa4,caixa5,caixa6,caixa7,caixa8,caixa9;
private JButton botao1, botao2,botao3,botao4;
private double total,valor,qtde,soma = 0;
private static EntityManagerFactory fabricaDeEntidades = null;
private static EntityManager gerenciador = null;
DecimalFormat df= new DecimalFormat(",##0,00");
public EfetuarVenda(EntityManagerFactory fabricaDeEntidades2, EntityManager gerenciador2) {
super("Vendas");
Container tela = getContentPane();
tela.setLayout(null);
fabricaDeEntidades=fabricaDeEntidades2;
gerenciador=gerenciador2;
rotulo1 = new JLabel("Codigo");
rotulo2 = new JLabel("Cliente:");
rotulo3 = new JLabel("Total:");
rotulo4 = new JLabel("Data:");
rotulo5 = new JLabel("Código:");
rotulo6 = new JLabel("Descrição:");
rotulo7 = new JLabel("Qtde:");
rotulo8 = new JLabel("Valor:");
rotulo9 = new JLabel("Total:");
caixa1 = new JTextField();
caixa2 = new JTextField();
caixa3 = new JTextField();
caixa3.setText("0.00");
caixa4 = new JTextField();
caixa5 = new JTextField();
caixa6 = new JTextField();
caixa7 = new JTextField();
caixa8 = new JTextField();
caixa9 = new JTextField();
botao1 = new JButton("Ok");
botao2 = new JButton("Salvar Venda");
botao3 = new JButton("Calcular Orçamento");
botao4 = new JButton("Calcular Pagamento");
// coluna, linha, largura, altura
rotulo1.setBounds(10, 19, 47, 20);
caixa1.setBounds(68, 19, 40, 20);
botao1.setBounds(630,100, 50, 20);
botao2.setBounds(21, 510, 200, 50);
botao3.setBounds(230, 510, 200, 50);
botao4.setBounds(440, 510, 200, 50);
rotulo2.setBounds(140, 19, 100, 20);
caixa2.setBounds(190, 19, 232, 20);
rotulo3.setBounds(530, 50, 70, 60);
caixa3.setBounds(560, 50, 120, 40);
rotulo4.setBounds(10, 60, 100, 20);
caixa4.setBounds(68, 60, 179, 20);
rotulo5.setBounds(10,100, 47, 20);
caixa5.setBounds(68,100, 40, 20);
rotulo6.setBounds(120, 100, 100, 20);
caixa6.setBounds(190, 100, 180, 20);
rotulo7.setBounds(370, 100, 80, 20);
caixa7.setBounds(410, 100, 50, 20);
rotulo8.setBounds(460, 100, 50, 20);
caixa8.setBounds(500,100, 50, 20);
rotulo9.setBounds(550, 100, 50, 20);
caixa9.setBounds(580, 100, 50, 20);
tela.add(rotulo1);
tela.add(caixa1);
tela.add(rotulo2);
tela.add(caixa2);
tela.add(botao1);
tela.add(botao2);
tela.add(botao3);
tela.add(botao4);
tela.add(rotulo3);
tela.add(caixa3);
tela.add(rotulo4);
tela.add(caixa4);
tela.add(rotulo5);
tela.add(caixa5);
tela.add(rotulo6);
tela.add(caixa6);
tela.add(rotulo7);
tela.add(caixa7);
tela.add(rotulo8);
tela.add(caixa8);
tela.add(rotulo9);
tela.add(caixa9);
final DefaultTableModel modelo;
modelo = new
DefaultTableModel();
// constrói a tabela
JTable tabela = new JTable(modelo);
// Cria duas colunas
modelo.addColumn("Código");
modelo.addColumn("Descrição");
modelo.addColumn("Qtde");
modelo.addColumn("Valor");
modelo.addColumn("Total");
JScrollPane scrollPane = new JScrollPane(tabela);
scrollPane.setBounds(20, 150, 640, 350);
tela.add(scrollPane);
botao1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// Persistir dados
// inclusão de um novo registro
//double total,valor,qtde,soma = 0;
valor=Double.parseDouble(caixa8.getText());
qtde=Double.parseDouble(caixa7.getText());
total=(qtde*valor);
soma+=(qtde*valor);
//Esse + (antes do igual) vai acumular os valores em soma.
caixa3.setText(""+soma);
caixa9.setText(""+total);
modelo.addRow(new String [] {caixa5.getText(), caixa6.getText(), caixa7.getText(), caixa8.getText(), caixa9.getText()} );
caixa1.setText("");
caixa2.setText("");
caixa4.setText("");
caixa5.setText("");
caixa6.setText("");
caixa7.setText("");
caixa8.setText("");
caixa9.setText("");
}
});
botao2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JTable tabela = new JTable(modelo);
//int linha = modelo.getRowCount();
//int col = modelo.getColumnCount();
try
{
//int i = modelo.getRowCount();
//int j = modelo.getColumnCount();
Class.forName("org.postgresql.Driver");
Connection con = DriverManager.getConnection ("jdbc:postgresql:TurmaN40","postgres","postgres");
System.out.println("Conexao OK");
Statement st = con.createStatement();
for (int i=0; i < modelo.getRowCount(); i++){
for (int j = 0; j < modelo.getColumnCount(); j++){
//for (int i = 0; i <= modelo.getRowCount();) {
ResultSet rs = st.executeQuery("INSERT into VendaProduto (codigo,descricao,qtde,valor,total) values ('"+
caixa5.getText() + "','" +
caixa6.getText() + "','" +
modelo.getValueAt(i,0)+"','"+
modelo.getValueAt(i,1)+"','"+
modelo.getValueAt(i,2)+"','"+
modelo.getValueAt(i,3)+"','"+
modelo.getValueAt(i,4)+"','"+
caixa7.getText() + "','" +
caixa8.getText() + "','" +
caixa9.getText()+"')");
JOptionPane.showMessageDialog(null,"Gravação realizada com sucesso");
}
}
st.close();
con.close();
}catch (Exception e1){
e1.printStackTrace();
return;
}}
});
botao3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// fecha a janela
CalculcarOrcamento c = new CalculcarOrcamento(fabricaDeEntidades, gerenciador);
}
});
botao4.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// fecha a janela
CalcularPagamento c = new CalcularPagamento(fabricaDeEntidades, gerenciador);
}
});
// setSize(largura, altura);
setSize(700, 610);
setVisible(true);
setLocationRelativeTo(null);
}
public static void main(String[] args) {
fabricaDeEntidades = Persistence
.createEntityManagerFactory("TurmaN40PostgreSQL");
gerenciador = fabricaDeEntidades.createEntityManager();
EfetuarVenda app = new EfetuarVenda(fabricaDeEntidades, gerenciador);
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}