@author JOHN LENO
*/
public final class ConsultaFornecedores extends JDialog implements Base, BDConsultas {
private JTextField tf_codFornecedor;
private AJTextField tf_pesqNome;
private AJTextField tf_uf;
private JFormattedTextField ft_cpf;
private JLabel lb_grupo;
private JLabel lb_tipo;
private JLabel lb_nome;
private JLabel lb_tipoPessoa;
private JLabel lb_cpf;
private JLabel lb_uf;
private JSeparator js_grupo;
private JSeparator js_tipo;
private JSeparator js_vert;
private JSeparator js_tipoFP;
private JRadioButton rb_produto;
private JRadioButton rb_servico;
private JRadioButton rb_produtosServicos;
private JRadioButton rb_todos;
private ButtonGroup bg_grupo = new ButtonGroup();
private JRadioButton rb_fisica;
private JRadioButton rb_juridica;
private JRadioButton rb_outros;
private JRadioButton rb_todosTipo;
private ButtonGroup bg_tipo = new ButtonGroup();
private JRadioButton rb_f;
private JRadioButton rb_j;
private ButtonGroup bg_tipoPessoa = new ButtonGroup();
private AJButton bt_atualizar;
private AJButton bt_ok;
private AJButton bt_cancelar;
private ImageIcon ii7;//Atualizar
private ImageIcon ii_ok;
private ImageIcon ii_cancelar;
private JScrollPane jsp;
protected AJTable jt;
private DefaultTableModel dtm;
private EmptyBorder margem1;
private Border border1;
private ArrayList<Object[]> gruposList;
String sql = “”;
String grupo, tipo;
String str;
String str1;
String sql1;
public String verificaBG(){
str = bg_grupo.getSelection().getActionCommand();
if (str.equals("Produto"))
grupo = "0";
else if (str.equals("Servico"))
grupo = "1";
else if (str.equals("ProdutoServico"))
grupo = "2";
else
grupo = "";
str1 = bg_tipo.getSelection().getActionCommand();
if (str1.equals("Fisica"))
tipo = "0";
else if (str1.equals("Juridica"))
tipo = "1";
else if (str1.equals("Outros"))
tipo = "2";
else
tipo = "";
sql = "SELECT for_cd, for_nm, for_cpfcnpj FROM fornecedor "
+ " WHERE for_grp_cd LIKE '"+grupo+"%' AND for_tipo LIKE '"+tipo+"%' "
+ " AND for_nm LIKE '%"+tf_pesqNome.getText().toLowerCase()+"%' "
+ " AND for_cpfcnpj LIKE '%' AND for_uf LIKE '"+tf_uf.getText()+"%' ";
return sql;
}
public void atualizarLista(){
sql1 = verificaBG();
carregarGruposProduto(sql1);
propriedadesTable();
}
private Object[][] carregarGruposProduto(String sql1) {
gruposList = new ArrayList<>();
// sql1 = “SELECT for_cd, for_nm, for_cpfcnpj FROM fornecedor”;
try {
PreparedStatement pstmt = Conexao.getConexao().prepareStatement(sql1);
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
Object[] object = new Object[3];
object[0] = rs.getString("for_cd");
object[1] = rs.getString("for_nm");
object[2] = rs.getString("for_cpfcnpj");
gruposList.add(object);
}
} catch (SQLException ex) {
}
Object[][] gruposArray = new Object[gruposList.size()][3];
gruposArray = gruposList.toArray(gruposArray);
return gruposArray;
}
public void propriedadesTable(){
String[] columnIdentifiers = {“Código”,“Nome”,“CPF/CNPJ”};
jt.setModel(dtm);
dtm.setDataVector(carregarGruposProduto(sql1), columnIdentifiers);
System.out.println("Propriedades = "+sql1);
jt.setAutoResizeMode(AJTable.AUTO_RESIZE_OFF);
jt.getColumnModel().getColumn(0).setPreferredWidth(74);
jt.getColumnModel().getColumn(1).setPreferredWidth(345);
jt.getColumnModel().getColumn(2).setPreferredWidth(150);
}
@Override
public void inicializarComponentes() {
jt = new AJTable();
jsp = new JScrollPane(jt);
dtm = new DefaultTableModel(){
@Override
public boolean isCellEditable(int row, int column) {
return false;
}
};
lb_grupo = new JLabel("Grupo");
lb_tipo = new JLabel("Tipo");
lb_nome = new JLabel("Digite parte do nome:");
lb_tipoPessoa = new JLabel("Tipo");
lb_cpf = new JLabel("CPF:");
lb_uf = new JLabel("UF:");
tf_pesqNome = new AJTextField(120);
tf_uf = new AJTextField(3);
js_grupo = new JSeparator();
js_tipo = new JSeparator();
js_tipoFP = new JSeparator();
js_vert = new JSeparator(SwingConstants.VERTICAL);
rb_produto = new JRadioButton("Produto");
rb_servico = new JRadioButton("Serviço");
rb_produtosServicos = new JRadioButton("Produtos e Serviços");
rb_todos = new JRadioButton("Todos",true);
//bg_grupo = new ButtonGroup();
rb_fisica = new JRadioButton("Física");
rb_juridica = new JRadioButton("Jurídica");
rb_outros = new JRadioButton("Outros");
rb_todosTipo = new JRadioButton("Todos",true);
//bg_tipo = new ButtonGroup();
rb_f = new JRadioButton("Física",true);
rb_j = new JRadioButton("Jurídica");
//bg_tipoPessoa = new ButtonGroup();
ii7 = new ImageIcon("recursos/imagens/icones/new/aplicar.png");
ii_ok = new ImageIcon("recursos/imagens/icones/aplicar.png");
ii_cancelar = new ImageIcon("recursos/imagens/icones/cancelar.png");
bt_atualizar = new AJButton("Atualizar",GUIFuncoes.getIcone(ii7 ,20,20));
bt_ok = new AJButton("Ok",GUIFuncoes.getIcone(ii_ok ,20,20));
bt_cancelar = new AJButton("Cancelar",GUIFuncoes.getIcone(ii_cancelar ,20,20));
}
@Override
public void inserirPropriedadesComponentes() {
String[] columnIdentifiers = {“Código”,“Nome”,“CPF/CNPJ”};
jt.setModel(dtm);
dtm.setDataVector(carregarGruposProduto(sql1), columnIdentifiers);
System.out.println("Propriedades = "+sql1);
jt.setAutoResizeMode(AJTable.AUTO_RESIZE_OFF);
jt.getColumnModel().getColumn(0).setPreferredWidth(74);
jt.getColumnModel().getColumn(1).setPreferredWidth(345);
jt.getColumnModel().getColumn(2).setPreferredWidth(150);
rb_produto .setActionCommand("Produto");
rb_servico .setActionCommand("Servico");
rb_produtosServicos.setActionCommand("ProdutoServico");
rb_todos .setActionCommand("Todos");
rb_fisica .setActionCommand("Fisica");
rb_juridica .setActionCommand("Juridica");
rb_outros .setActionCommand("Outros");
rb_todosTipo .setActionCommand("Todos");
rb_f .setActionCommand("F");
rb_j .setActionCommand("J");
jt.addMouseListener(
new MouseListener() {
@Override
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2) {
tf_codFornecedor.setText(jt.getValueAt(jt.getSelectedRow(), 0).toString());
ConsultaFornecedores.this.dispose();
tf_codFornecedor.requestFocus();
}
}
@Override
public void mousePressed(MouseEvent e) {
tf_codFornecedor.requestFocus();
}
@Override
public void mouseReleased(MouseEvent e) {
tf_codFornecedor.requestFocus();
}
@Override
public void mouseEntered(MouseEvent e) {
tf_codFornecedor.requestFocus();
}
@Override
public void mouseExited(MouseEvent e) {
tf_codFornecedor.requestFocus();
}
});
bt_atualizar.addActionListener(
new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
atualizarLista();
// verificaBG();
//JOptionPane.showMessageDialog(null, "Grupo");
}
});
bt_ok.addActionListener(
new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (jt.getSelectedRow() != -1) {
tf_codFornecedor.setText(jt.getValueAt(jt.getSelectedRow(), 0).toString());
ConsultaFornecedores.this.dispose();
}
}
});
bt_ok.addActionListener(
new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
}
});
bt_cancelar.addActionListener(
new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
ConsultaFornecedores.this.dispose();
}
});
// Código para modificar o key binding para tecla ENTER.
Action enter = new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
tf_codFornecedor.setText(jt.getValueAt(jt.getSelectedRow(), 0).toString());
}
};
jt.getInputMap(JTable.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(
KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), "ENTER");
jt.getActionMap().put("ENTER", enter);
DefaultFormatterFactory factory = new DefaultFormatterFactory(CustomFuncoes.getCPFMask());
ft_cpf = new JFormattedTextField(factory);
rb_produto .setBorder(null);
rb_servico .setBorder(null);
rb_produtosServicos .setBorder(null);
rb_todos .setBorder(null);
rb_fisica .setBorder(null);
rb_juridica .setBorder(null);
rb_outros .setBorder(null);
rb_todosTipo .setBorder(null);
rb_f .setBorder(null);
rb_j .setBorder(null);
rb_produto .setContentAreaFilled(false);
rb_servico .setContentAreaFilled(false);
rb_produtosServicos .setContentAreaFilled(false);
rb_todos .setContentAreaFilled(false);
rb_fisica .setContentAreaFilled(false);
rb_juridica .setContentAreaFilled(false);
rb_outros .setContentAreaFilled(false);
rb_todosTipo .setContentAreaFilled(false);
rb_f .setContentAreaFilled(false);
rb_j .setContentAreaFilled(false);
lb_grupo .setForeground(Cores.AZUL_12);
lb_tipo .setForeground(Cores.AZUL_12);
lb_tipoPessoa .setForeground(Cores.AZUL_12);
lb_cpf .setForeground(Cores.AZUL_12);
lb_uf .setForeground(Cores.AZUL_12);
bt_ok .setMaximumSize(new Dimension(100,25));
bt_atualizar .setMaximumSize(new Dimension(100,25));
bt_cancelar .setMaximumSize(new Dimension(100,25));
bt_ok = GUIFuncoes.aplicarLayout(bt_ok, margem1);
bt_atualizar = GUIFuncoes.aplicarLayout(bt_atualizar, margem1);
bt_cancelar = GUIFuncoes.aplicarLayout(bt_cancelar, margem1);
this.getContentPane().setBackground(Color.WHITE);
this.setModal(true);
this.setLayout(new MigLayout("", "[180][10][20][30][grow]", "[][]0[]0[]0[][][]"));
}
@Override
public void inserirComponentes() {
this.add(lb_grupo,“spanx 1, split 2”);
this.add(js_grupo,“w 130!”);
this.add(lb_tipo,“spanx 1, split 2”);
this.add(js_tipo,“w 130!, wrap”);
this.add(rb_produto, "w 90!, left");
this.add(rb_fisica, "left, wrap");
this.add(rb_servico, "w 90!");
this.add(rb_juridica, "w 90!, wrap");
this.add(rb_produtosServicos, "w 150!");
this.add(rb_outros, "w 150!, wrap");
this.add(rb_todos, "w 90!");
this.add(rb_todosTipo, "w 90!, wrap");
this.add(lb_nome,"grow");
this.add(lb_tipoPessoa,"gapleft 5, w 30!, split 2");
this.add(js_tipoFP,"w 115!");
this.add(lb_cpf,"w 80!");
this.add(lb_uf,"w 30!,wrap");
this.add(tf_pesqNome,"grow");
this.add(rb_f,"gapleft 5, w 70!, split 2");
this.add(rb_j,"grow");
this.add(ft_cpf,"w 100!");
this.add(tf_uf,"w 30!");
this.add(bt_atualizar,"w 115!,wrap 2");
this.add(jsp, "gaptop 5, span, growx, wrap");
this.add(bt_ok,"gaptop 5,spanx 5, w 110!, split2, right");
this.add(bt_cancelar,"gaptop 5,w 110!, right, wrap, gapright 7");
bg_grupo.add(rb_produto);
bg_grupo.add(rb_servico);
bg_grupo.add(rb_produtosServicos);
bg_grupo.add(rb_todos);
bg_tipo.add(rb_fisica);
bg_tipo.add(rb_juridica);
bg_tipo.add(rb_outros);
bg_tipo.add(rb_todosTipo);
bg_tipoPessoa.add(rb_f);
bg_tipoPessoa.add(rb_j);
}
public ConsultaFornecedores(AJDialog owner, JTextField tf_codFornecedor){
super(owner);
this.tf_codFornecedor = tf_codFornecedor;
this.setTitle(“Consulta Fornecedor”);
this.setSize(610, 375);
this.setLocationRelativeTo(null);
this.setResizable(false);
System.out.println("Instanciou Fornecedores");
inicializarComponentes();
inserirPropriedadesComponentes();
inserirComponentes();
atualizarLista();
this.setVisible(true);
}