package Interface.Financeiro.Tabelas;
import BancoDeDados.GerenciaConexaoBancoComDados;
import Classes.Modelos.ColCombBoxTabCentroCustGrupos;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.CellEditor;
import javax.swing.DefaultCellEditor;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableCellEditor;
import javax.swing.table.TableColumn;
public class TabCentroCustGrupos extends javax.swing.JFrame {
private DefaultTableModel modelo = null;
private ResultSet rs = null;
private Statement stm = null;
private GerenciaConexaoBancoComDados gcbd = new GerenciaConexaoBancoComDados();
private TableColumn comboBoxTab = new TableColumn(1);
private ColCombBoxTabCentroCustGrupos colunaComb = new ColCombBoxTabCentroCustGrupos();
public TabCentroCustGrupos(){
initComponents();
initTabela();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
painel = new javax.swing.JLayeredPane();
lblFundo = new javax.swing.JLabel();
lblContas = new javax.swing.JLabel();
lblDescricao = new javax.swing.JLabel();
lblGrupo = new javax.swing.JLabel();
lblCriterio = new javax.swing.JLabel();
lblClassificacao = new javax.swing.JLabel();
lblClassificacao1 = new javax.swing.JLabel();
lblDistribCentrosCustos = new javax.swing.JLabel();
lblPessoa = new javax.swing.JLabel();
txtGrupo = new javax.swing.JTextField();
txtDescricao = new javax.swing.JTextField();
txtClassificacao = new javax.swing.JTextField();
painelTxtArea = new javax.swing.JScrollPane();
areaCriterio = new javax.swing.JTextArea();
painelTab = new javax.swing.JScrollPane();
tabCentroCustGrupos = new javax.swing.JTable();
btnRetorna = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
painel.setMinimumSize(new java.awt.Dimension(1024, 768));
lblFundo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Interface/TelaFundo.JPG"))); // NOI18N
lblFundo.setBounds(0, 0, 1024, 768);
painel.add(lblFundo, javax.swing.JLayeredPane.DEFAULT_LAYER);
lblContas.setFont(new java.awt.Font("Verdana", 1, 24));
lblContas.setForeground(new java.awt.Color(255, 255, 51));
lblContas.setText("Centro de custos por Grupos");
lblContas.setBounds(320, 180, 450, 30);
painel.add(lblContas, javax.swing.JLayeredPane.PALETTE_LAYER);
lblDescricao.setBackground(new java.awt.Color(255, 255, 255));
lblDescricao.setFont(new java.awt.Font("Verdana", 0, 12));
lblDescricao.setForeground(new java.awt.Color(255, 255, 255));
lblDescricao.setText("Descrição");
lblDescricao.setBounds(230, 260, 80, 16);
painel.add(lblDescricao, javax.swing.JLayeredPane.PALETTE_LAYER);
lblGrupo.setBackground(new java.awt.Color(255, 255, 255));
lblGrupo.setFont(new java.awt.Font("Verdana", 0, 12));
lblGrupo.setForeground(new java.awt.Color(255, 255, 255));
lblGrupo.setText("Grupo");
lblGrupo.setBounds(230, 230, 50, 16);
painel.add(lblGrupo, javax.swing.JLayeredPane.PALETTE_LAYER);
lblCriterio.setBackground(new java.awt.Color(255, 255, 255));
lblCriterio.setFont(new java.awt.Font("Verdana", 0, 12));
lblCriterio.setForeground(new java.awt.Color(255, 255, 255));
lblCriterio.setText("Critério");
lblCriterio.setBounds(230, 290, 60, 16);
painel.add(lblCriterio, javax.swing.JLayeredPane.PALETTE_LAYER);
lblClassificacao.setBackground(new java.awt.Color(255, 255, 255));
lblClassificacao.setFont(new java.awt.Font("Verdana", 0, 12));
lblClassificacao.setForeground(new java.awt.Color(255, 255, 255));
lblClassificacao.setText("Classificação");
lblClassificacao.setBounds(230, 400, 100, 16);
painel.add(lblClassificacao, javax.swing.JLayeredPane.PALETTE_LAYER);
lblClassificacao1.setBackground(new java.awt.Color(255, 255, 255));
lblClassificacao1.setFont(new java.awt.Font("Verdana", 0, 12));
lblClassificacao1.setForeground(new java.awt.Color(255, 255, 255));
lblClassificacao1.setText("OBS.: A soma dos percentuais deve totalizar 100");
lblClassificacao1.setBounds(670, 480, 350, 20);
painel.add(lblClassificacao1, javax.swing.JLayeredPane.PALETTE_LAYER);
lblDistribCentrosCustos.setBackground(new java.awt.Color(255, 255, 255));
lblDistribCentrosCustos.setFont(new java.awt.Font("Verdana", 0, 12));
lblDistribCentrosCustos.setForeground(new java.awt.Color(255, 255, 255));
lblDistribCentrosCustos.setText("Distribuição por centros de custos");
lblDistribCentrosCustos.setBounds(320, 430, 240, 20);
painel.add(lblDistribCentrosCustos, javax.swing.JLayeredPane.PALETTE_LAYER);
lblPessoa.setBackground(new java.awt.Color(255, 255, 255));
lblPessoa.setFont(new java.awt.Font("Verdana", 0, 12));
lblPessoa.setForeground(new java.awt.Color(255, 255, 255));
lblPessoa.setText("Total:");
lblPessoa.setBounds(670, 530, 50, 16);
painel.add(lblPessoa, javax.swing.JLayeredPane.PALETTE_LAYER);
txtGrupo.setBounds(320, 230, 70, 20);
painel.add(txtGrupo, javax.swing.JLayeredPane.PALETTE_LAYER);
txtDescricao.setBounds(320, 260, 380, 20);
painel.add(txtDescricao, javax.swing.JLayeredPane.PALETTE_LAYER);
txtClassificacao.setBounds(320, 400, 380, 20);
painel.add(txtClassificacao, javax.swing.JLayeredPane.PALETTE_LAYER);
areaCriterio.setColumns(20);
areaCriterio.setRows(5);
painelTxtArea.setViewportView(areaCriterio);
painelTxtArea.setBounds(320, 290, 380, 96);
painel.add(painelTxtArea, javax.swing.JLayeredPane.PALETTE_LAYER);
tabCentroCustGrupos.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
},
new String [] {
"Título 1", "Título 2", "Titulo 3"
}
));
tabCentroCustGrupos.setColumnSelectionAllowed(true);
tabCentroCustGrupos.getTableHeader().setReorderingAllowed(false);
tabCentroCustGrupos.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
tabCentroCustGruposFocusLost(evt);
}
});
painelTab.setViewportView(tabCentroCustGrupos);
tabCentroCustGrupos.getColumnModel().getSelectionModel().setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
painelTab.setBounds(270, 470, 380, 260);
painel.add(painelTab, javax.swing.JLayeredPane.PALETTE_LAYER);
btnRetorna.setFont(new java.awt.Font("Verdana", 0, 12));
btnRetorna.setText("Retorna");
btnRetorna.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnRetornaActionPerformed(evt);
}
});
btnRetorna.setBounds(600, 740, 87, 25);
painel.add(btnRetorna, javax.swing.JLayeredPane.PALETTE_LAYER);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(painel, javax.swing.GroupLayout.PREFERRED_SIZE, 1024, javax.swing.GroupLayout.PREFERRED_SIZE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(painel, javax.swing.GroupLayout.PREFERRED_SIZE, 768, javax.swing.GroupLayout.PREFERRED_SIZE)
);
pack();
}// </editor-fold>
private void tabCentroCustGruposFocusLost(java.awt.event.FocusEvent evt) {
modelo = (DefaultTableModel) tabCentroCustGrupos.getModel();
try{
CellEditor ce = tabCentroCustGrupos.getCellEditor();
ce.stopCellEditing();
}
catch(NullPointerException npe){
System.out.println("Excessão NPE tratada!");
}
if(tabCentroCustGrupos.getValueAt(modelo.getRowCount()-1, 0) != null || tabCentroCustGrupos.getValueAt(modelo.getRowCount()-1, 1) != null){
modelo.addRow(new Object[]{});
}
}
private void btnRetornaActionPerformed(java.awt.event.ActionEvent evt) {
this.dispose();
}
public void initTabela(){ // Ter um iniTab() para cada jRadioButton
try {
stm = (Statement) gcbd.getBanco().getConexao().createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
rs = stm.executeQuery("SELECT fg.grupo, fg.percentual, fn.descricao FROM fn_grupo_ccusto AS fg INNER JOIN fn_ccusto AS fn ON TRUE");
modelo = (DefaultTableModel) tabCentroCustGrupos.getModel();
if(rs.first()){
do{
modelo.addRow(new Object[]{rs.getObject(1)});
modelo.setValueAt(rs.getObject(2), rs.getRow()-1, 2);
colunaComb.addItem(rs.getObject(3));
}
while(rs.next());
}
// else
// System.out.println("Não a linhas na tabela");
rs.first();
tabCentroCustGrupos.setModel(modelo);
}
catch (SQLException ex){
ex.printStackTrace();
}
modelo.addRow(new Object[]{});
tabCentroCustGrupos.setModel(modelo);
}
public JTable getTabela(){
return tabCentroCustGrupos;
}
public TableCellEditor editorColuna(){
return new DefaultCellEditor(colunaComb);
}
// Variables declaration - do not modify
private javax.swing.JTextArea areaCriterio;
private javax.swing.JButton btnRetorna;
private javax.swing.JLabel lblClassificacao;
private javax.swing.JLabel lblClassificacao1;
private javax.swing.JLabel lblContas;
private javax.swing.JLabel lblCriterio;
private javax.swing.JLabel lblDescricao;
private javax.swing.JLabel lblDistribCentrosCustos;
private javax.swing.JLabel lblFundo;
private javax.swing.JLabel lblGrupo;
private javax.swing.JLabel lblPessoa;
private javax.swing.JLayeredPane painel;
private javax.swing.JScrollPane painelTab;
private javax.swing.JScrollPane painelTxtArea;
private javax.swing.JTable tabCentroCustGrupos;
private javax.swing.JTextField txtClassificacao;
private javax.swing.JTextField txtDescricao;
private javax.swing.JTextField txtGrupo;
// End of variables declaration
}