~ubuntu-branches/debian/sid/bgfinancas/sid

« back to all changes in this revision

Viewing changes to src/Cadastros/ReceitasItemPesquisar.java

  • Committer: Package Import Robot
  • Author(s): Jose Robson Mariano Alves
  • Date: 2014-09-24 15:01:45 UTC
  • Revision ID: package-import@ubuntu.com-20140924150145-le88tcphc5vmc8sh
Tags: upstream-2.0
ImportĀ upstreamĀ versionĀ 2.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
Copyright 2010, 2012, 2014 Jose Robson Mariano Alves
 
3
 
 
4
This file is part of bgfinancas.
 
5
 
 
6
This program is free software: you can redistribute it and/or modify
 
7
it under the terms of the GNU General Public License as published by
 
8
the Free Software Foundation, either version 3 of the License, or
 
9
(at your option) any later version.
 
10
 
 
11
This package is distributed in the hope that it will be useful,
 
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
 
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
14
GNU General Public License for more details.
 
15
 
 
16
You should have received a copy of the GNU General Public License
 
17
along with this program. If not, see <http://www.gnu.org/licenses/>.
 
18
 
 
19
*/
 
20
 
 
21
package Cadastros;
 
22
 
 
23
import Biblioteca.Botoes;
 
24
import Biblioteca.Janela;
 
25
import Biblioteca.Janelinha;
 
26
import Biblioteca.Visual;
 
27
import java.sql.SQLException;
 
28
import javax.swing.table.DefaultTableModel;
 
29
 
 
30
public final class ReceitasItemPesquisar extends Janela {
 
31
 
 
32
    private final String Acao;
 
33
    private final ReceitasItem receitas_item;
 
34
 
 
35
    public ReceitasItemPesquisar(ReceitasItem despesaItem, String acao) {
 
36
        initComponents();
 
37
        Visual.Janela(this.getJanela());
 
38
        BarraDeFerramentas.add(Botoes.Sair(this));
 
39
        Acao = acao;
 
40
        receitas_item = despesaItem;
 
41
        PreencherCategorias();
 
42
        resultado_pesquisa.setFont(FonteFinancas);
 
43
        resultado_pesquisa.getTableHeader().setFont(FonteFinancas);
 
44
    }
 
45
    
 
46
    public void PreencherCategorias()
 
47
    {
 
48
        try
 
49
        {
 
50
            categoria.addItem(Lingua.getMensagem("todas"));
 
51
            Banco.executeQuery("SELECT nome FROM receitas_categorias ORDER BY nome ASC");
 
52
            while(Banco.getResultSet().next())
 
53
            {
 
54
                categoria.addItem(Banco.getResultSet().getString("nome"));
 
55
            }
 
56
        }catch(Exception e)
 
57
        {
 
58
            categoria.addItem(Lingua.getMensagem("nenhum_item_encontrado"));
 
59
        } 
 
60
    }
 
61
    
 
62
    public void Filtrar()
 
63
    {
 
64
        String ID_CATEGORIA = "";
 
65
        if(categoria.getSelectedItem().equals(Lingua.getMensagem("todas")))
 
66
        {
 
67
            Banco.executeQuery("SELECT receitas_itens.*, receitas_categorias.nome AS categoria_nome FROM receitas_itens, receitas_categorias WHERE receitas_itens.nome LIKE '%"+nome.getText()+"%' AND receitas_itens.id_categoria = receitas_categorias.id_categoria ORDER BY nome ASC");
 
68
        }else{
 
69
            Banco.executeQuery("SELECT id_categoria FROM receitas_categorias WHERE nome='"+categoria.getSelectedItem()+"'");
 
70
            try
 
71
            {
 
72
                Banco.getResultSet().next();
 
73
                ID_CATEGORIA = Banco.getResultSet().getString("id_categoria");
 
74
            }catch (SQLException ex) {
 
75
                Janelinha.Aviso(Lingua.getMensagem("atencao"),Lingua.getMensagem("excecao")+" "+ex.getMessage());
 
76
            }
 
77
            Banco.executeQuery("SELECT receitas_itens.*, receitas_categorias.nome AS categoria_nome FROM receitas_itens, receitas_categorias WHERE receitas_itens.nome LIKE '%"+nome.getText()+"%' AND receitas_itens.id_categoria='"+ID_CATEGORIA+"' AND receitas_itens.id_categoria = receitas_categorias.id_categoria ORDER BY nome ASC");
 
78
        }
 
79
        try
 
80
        {
 
81
            DefaultTableModel modelo = (DefaultTableModel)resultado_pesquisa.getModel();
 
82
            modelo.setNumRows(0);
 
83
            while(Banco.getResultSet().next())
 
84
            {
 
85
                modelo.addRow(new Object[]{Banco.getResultSet().getString("id_item"),Banco.getResultSet().getString("nome"),Banco.getResultSet().getString("categoria_nome")});
 
86
            }
 
87
        }catch(SQLException e)
 
88
        {
 
89
            Janelinha.Aviso(Lingua.getMensagem("atencao"),Lingua.getMensagem("excecao")+" "+e.getMessage());
 
90
        }
 
91
    }
 
92
    
 
93
    @Override
 
94
    public void Botoes(String acao)
 
95
    {
 
96
        if(acao.equals(Lingua.getMensagem("sair"))){
 
97
            ReceitasItemPesquisar.this.dispose();
 
98
        }
 
99
    }
 
100
    
 
101
 
 
102
    /** This method is called from within the constructor to
 
103
     * initialize the form.
 
104
     * WARNING: Do NOT modify this code. The content of this method is
 
105
     * always regenerated by the Form Editor.
 
106
     */
 
107
    @SuppressWarnings("unchecked")
 
108
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
 
109
    private void initComponents() {
 
110
 
 
111
        jScrollPane1 = new javax.swing.JScrollPane();
 
112
        jTable1 = new javax.swing.JTable();
 
113
        BarraDeFerramentas = new javax.swing.JToolBar();
 
114
        jPanel1 = new javax.swing.JPanel();
 
115
        jScrollPane2 = new javax.swing.JScrollPane();
 
116
        resultado_pesquisa = new javax.swing.JTable();
 
117
        NOME = new javax.swing.JLabel();
 
118
        nome = new javax.swing.JTextField();
 
119
        ESTADO = new javax.swing.JLabel();
 
120
        categoria = new javax.swing.JComboBox();
 
121
        BFiltrar = new javax.swing.JButton();
 
122
 
 
123
        jTable1.setModel(new javax.swing.table.DefaultTableModel(
 
124
            new Object [][] {
 
125
                {null, null, null, null},
 
126
                {null, null, null, null},
 
127
                {null, null, null, null},
 
128
                {null, null, null, null}
 
129
            },
 
130
            new String [] {
 
131
                "Title 1", "Title 2", "Title 3", "Title 4"
 
132
            }
 
133
        ));
 
134
        jScrollPane1.setViewportView(jTable1);
 
135
 
 
136
        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
 
137
        setTitle(Lingua.getMensagem("pesquisar"));
 
138
        setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
 
139
 
 
140
        BarraDeFerramentas.setFloatable(false);
 
141
        BarraDeFerramentas.setRollover(true);
 
142
 
 
143
        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(null, Lingua.getMensagem("receitas")+" > "+Lingua.getMensagem("item"), javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, FonteFinancas, new java.awt.Color(0, 102, 204)));
 
144
        jPanel1.setForeground(new java.awt.Color(51, 94, 168));
 
145
 
 
146
        resultado_pesquisa.setModel(new javax.swing.table.DefaultTableModel(
 
147
            new Object [][] {
 
148
 
 
149
            },
 
150
            new String [] {
 
151
                "ID", "", ""
 
152
            }
 
153
        ) {
 
154
            boolean[] canEdit = new boolean [] {
 
155
                false, false, false
 
156
            };
 
157
 
 
158
            public boolean isCellEditable(int rowIndex, int columnIndex) {
 
159
                return canEdit [columnIndex];
 
160
            }
 
161
        });
 
162
        resultado_pesquisa.getTableHeader().setReorderingAllowed(false);
 
163
        resultado_pesquisa.addMouseListener(new java.awt.event.MouseAdapter() {
 
164
            public void mouseClicked(java.awt.event.MouseEvent evt) {
 
165
                resultado_pesquisaMouseClicked(evt);
 
166
            }
 
167
        });
 
168
        jScrollPane2.setViewportView(resultado_pesquisa);
 
169
        if (resultado_pesquisa.getColumnModel().getColumnCount() > 0) {
 
170
            resultado_pesquisa.getColumnModel().getColumn(0).setMaxWidth(75);
 
171
            resultado_pesquisa.getColumnModel().getColumn(1).setResizable(false);
 
172
            resultado_pesquisa.getColumnModel().getColumn(1).setHeaderValue(Lingua.getMensagem("nome"));
 
173
            resultado_pesquisa.getColumnModel().getColumn(2).setResizable(false);
 
174
            resultado_pesquisa.getColumnModel().getColumn(2).setHeaderValue(Lingua.getMensagem("categoria"));
 
175
        }
 
176
 
 
177
        NOME.setFont(FonteFinancas);
 
178
        NOME.setText(Lingua.getMensagem("nome")+":");
 
179
 
 
180
        nome.setFont(FonteFinancas);
 
181
        nome.addActionListener(new java.awt.event.ActionListener() {
 
182
            public void actionPerformed(java.awt.event.ActionEvent evt) {
 
183
                nomeActionPerformed(evt);
 
184
            }
 
185
        });
 
186
 
 
187
        ESTADO.setFont(FonteFinancas);
 
188
        ESTADO.setText(Lingua.getMensagem("categoria")+":");
 
189
 
 
190
        categoria.setFont(FonteFinancas);
 
191
        categoria.addActionListener(new java.awt.event.ActionListener() {
 
192
            public void actionPerformed(java.awt.event.ActionEvent evt) {
 
193
                categoriaActionPerformed(evt);
 
194
            }
 
195
        });
 
196
 
 
197
        BFiltrar.setFont(FonteFinancas);
 
198
        BFiltrar.setText(Lingua.getMensagem("pesquisar"));
 
199
        BFiltrar.addActionListener(new java.awt.event.ActionListener() {
 
200
            public void actionPerformed(java.awt.event.ActionEvent evt) {
 
201
                BFiltrarActionPerformed(evt);
 
202
            }
 
203
        });
 
204
 
 
205
        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
 
206
        jPanel1.setLayout(jPanel1Layout);
 
207
        jPanel1Layout.setHorizontalGroup(
 
208
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
209
            .addGroup(jPanel1Layout.createSequentialGroup()
 
210
                .addContainerGap()
 
211
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
212
                    .addComponent(jScrollPane2)
 
213
                    .addGroup(jPanel1Layout.createSequentialGroup()
 
214
                        .addComponent(NOME)
 
215
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
 
216
                        .addComponent(nome, javax.swing.GroupLayout.PREFERRED_SIZE, 211, javax.swing.GroupLayout.PREFERRED_SIZE)
 
217
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
 
218
                        .addComponent(ESTADO)
 
219
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
 
220
                        .addComponent(categoria, 0, 1, Short.MAX_VALUE)
 
221
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
 
222
                        .addComponent(BFiltrar)))
 
223
                .addContainerGap())
 
224
        );
 
225
        jPanel1Layout.setVerticalGroup(
 
226
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
227
            .addGroup(jPanel1Layout.createSequentialGroup()
 
228
                .addContainerGap()
 
229
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
 
230
                    .addComponent(NOME)
 
231
                    .addComponent(BFiltrar)
 
232
                    .addComponent(nome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
 
233
                    .addComponent(categoria, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
 
234
                    .addComponent(ESTADO))
 
235
                .addGap(18, 18, 18)
 
236
                .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 295, Short.MAX_VALUE)
 
237
                .addContainerGap())
 
238
        );
 
239
 
 
240
        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
 
241
        getContentPane().setLayout(layout);
 
242
        layout.setHorizontalGroup(
 
243
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
244
            .addComponent(BarraDeFerramentas, javax.swing.GroupLayout.DEFAULT_SIZE, 752, Short.MAX_VALUE)
 
245
            .addGroup(layout.createSequentialGroup()
 
246
                .addGap(10, 10, 10)
 
247
                .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 
248
                .addContainerGap())
 
249
        );
 
250
        layout.setVerticalGroup(
 
251
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 
252
            .addGroup(layout.createSequentialGroup()
 
253
                .addComponent(BarraDeFerramentas, javax.swing.GroupLayout.PREFERRED_SIZE, 41, javax.swing.GroupLayout.PREFERRED_SIZE)
 
254
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
 
255
                .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
 
256
                .addContainerGap())
 
257
        );
 
258
 
 
259
        setSize(new java.awt.Dimension(688, 480));
 
260
        setLocationRelativeTo(null);
 
261
    }// </editor-fold>//GEN-END:initComponents
 
262
 
 
263
private void nomeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_nomeActionPerformed
 
264
    Filtrar();
 
265
}//GEN-LAST:event_nomeActionPerformed
 
266
 
 
267
private void categoriaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_categoriaActionPerformed
 
268
    Filtrar();
 
269
}//GEN-LAST:event_categoriaActionPerformed
 
270
 
 
271
private void BFiltrarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_BFiltrarActionPerformed
 
272
    Filtrar();
 
273
}//GEN-LAST:event_BFiltrarActionPerformed
 
274
 
 
275
private void resultado_pesquisaMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_resultado_pesquisaMouseClicked
 
276
    String codSelecionado0;
 
277
    String codSelecionado1;
 
278
    String codSelecionado2;
 
279
    codSelecionado0 = (String)resultado_pesquisa.getValueAt(resultado_pesquisa.getSelectedRow(), 0);
 
280
    codSelecionado1 = (String)resultado_pesquisa.getValueAt(resultado_pesquisa.getSelectedRow(), 1);
 
281
    codSelecionado2 = (String)resultado_pesquisa.getValueAt(resultado_pesquisa.getSelectedRow(), 2);
 
282
    if(Janelinha.Pergunta(codSelecionado1, Lingua.getMensagem("tem_certeza"))){
 
283
        receitas_item.PreencherFormulario(Acao,codSelecionado0,codSelecionado1,codSelecionado2);
 
284
        ReceitasItemPesquisar.this.dispose();
 
285
    }
 
286
}//GEN-LAST:event_resultado_pesquisaMouseClicked
 
287
 
 
288
    // Variables declaration - do not modify//GEN-BEGIN:variables
 
289
    private javax.swing.JButton BFiltrar;
 
290
    private javax.swing.JToolBar BarraDeFerramentas;
 
291
    private javax.swing.JLabel ESTADO;
 
292
    private javax.swing.JLabel NOME;
 
293
    private javax.swing.JComboBox categoria;
 
294
    private javax.swing.JPanel jPanel1;
 
295
    private javax.swing.JScrollPane jScrollPane1;
 
296
    private javax.swing.JScrollPane jScrollPane2;
 
297
    private javax.swing.JTable jTable1;
 
298
    private javax.swing.JTextField nome;
 
299
    private javax.swing.JTable resultado_pesquisa;
 
300
    // End of variables declaration//GEN-END:variables
 
301
 
 
302
}