Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package br.com.registro.view; import br.com.registro.entidade.Controle; import br.com.registro.entidade.Funcionario; import br.com.registro.modelo.ControleDAO; import br.com.registro.modelo.FuncionarioDAO; import br.com.registro.modelo.TableModelControle; import br.com.registro.util.HoraUtil; import com.mysql.fabric.xmlrpc.base.Data; import java.awt.Color; import java.sql.Timestamp; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JOptionPane; import org.joda.time.DateTime; import org.joda.time.Period; /** * * @author user_mw */ public class TelaHoras extends javax.swing.JInternalFrame { public TableModelControle tabelaControle; /** * Creates new form Horas */ public TelaHoras() { initComponents(); preencheComboboxFuncionario(); //======================== //--Tabela this.tabelaControle = new TableModelControle(); this.jTable1.setModel(tabelaControle); } /** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { jPanel1 = new javax.swing.JPanel(); jButtonCodigoPesquisa = new javax.swing.JButton(); jButtonDataPesquisa = new javax.swing.JButton(); jTextFieldCodigoPesquisa = new javax.swing.JTextField(); jLabelCodigoPesquisa = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jDateChooserDataPesquisa = new com.toedter.calendar.JDateChooser(); jScrollPane1 = new javax.swing.JScrollPane(); jTable1 = new javax.swing.JTable(); jPanel2 = new javax.swing.JPanel(); jLabel3 = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel(); jLabel7 = new javax.swing.JLabel(); jLabel8 = new javax.swing.JLabel(); jTextFieldStatus = new javax.swing.JTextField(); jScrollPane2 = new javax.swing.JScrollPane(); jTextAreaDescricao = new javax.swing.JTextArea(); jLabel9 = new javax.swing.JLabel(); jLabel10 = new javax.swing.JLabel(); jFormattedTextFieldHoraEntrada = new javax.swing.JFormattedTextField(); jFormattedTextFieldHoraSaida = new javax.swing.JFormattedTextField(); jLabel11 = new javax.swing.JLabel(); jFormattedTextFieldHoraExtra = new javax.swing.JFormattedTextField(); jComboBoxFuncionario = new javax.swing.JComboBox(); jFormattedTextFieldData = new javax.swing.JFormattedTextField(); jButtonAdicionar = new javax.swing.JButton(); jButtonConfirmar = new javax.swing.JButton(); jButtonCancelar = new javax.swing.JButton(); jButtonAtualizar = new javax.swing.JButton(); jButtonExcluir = new javax.swing.JButton(); jLabel1 = new javax.swing.JLabel(); setClosable(true); setIconifiable(true); setTitle("Atualizar Hora"); setPreferredSize(new java.awt.Dimension(800, 500)); jPanel1.setBackground(new java.awt.Color(255, 255, 255)); jButtonCodigoPesquisa .setIcon(new javax.swing.ImageIcon(getClass().getResource("/br/com/registro/img/lupa_32x32.png"))); // NOI18N jButtonCodigoPesquisa.setToolTipText("Digite o cdigo do funcionrio"); jButtonCodigoPesquisa.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonCodigoPesquisaActionPerformed(evt); } }); jButtonDataPesquisa .setIcon(new javax.swing.ImageIcon(getClass().getResource("/br/com/registro/img/lupa_32x32.png"))); // NOI18N jButtonDataPesquisa.setToolTipText("Selecione a data do registro"); jButtonDataPesquisa.setEnabled(false); jTextFieldCodigoPesquisa.addKeyListener(new java.awt.event.KeyAdapter() { public void keyPressed(java.awt.event.KeyEvent evt) { jTextFieldCodigoPesquisaKeyPressed(evt); } public void keyReleased(java.awt.event.KeyEvent evt) { jTextFieldCodigoPesquisaKeyReleased(evt); } }); jLabelCodigoPesquisa.setText("Digite o cdigo do cliente"); jLabel2.setText("Selecione a data de registro"); jDateChooserDataPesquisa.setEnabled(false); jScrollPane1.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS); jScrollPane1.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); jTable1.setModel(new javax.swing.table.DefaultTableModel(new Object[][] { {}, {}, {}, {} }, new String[] { })); jTable1.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_LAST_COLUMN); jTable1.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR)); jTable1.addMouseListener(new java.awt.event.MouseAdapter() { public void mouseClicked(java.awt.event.MouseEvent evt) { jTable1MouseClicked(evt); } }); jScrollPane1.setViewportView(jTable1); jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("Atualizao de Registro")); jLabel3.setText("Cdigo do Funcionario.:"); jLabel4.setText("Hora de entrada.:"); jLabel7.setText("Hora Sada.:"); jLabel8.setText("Status.:"); jTextFieldStatus.setEnabled(false); jTextAreaDescricao.setColumns(20); jTextAreaDescricao.setRows(5); jTextAreaDescricao.setEnabled(false); jScrollPane2.setViewportView(jTextAreaDescricao); jLabel9.setText("Descrio"); jLabel10.setText("Data.:"); try { jFormattedTextFieldHoraEntrada.setFormatterFactory( new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.MaskFormatter("##:##:##"))); } catch (java.text.ParseException ex) { ex.printStackTrace(); } jFormattedTextFieldHoraEntrada.setEnabled(false); jFormattedTextFieldHoraEntrada.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jFormattedTextFieldHoraEntradaActionPerformed(evt); } }); try { jFormattedTextFieldHoraSaida.setFormatterFactory( new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.MaskFormatter("##:##:##"))); } catch (java.text.ParseException ex) { ex.printStackTrace(); } jFormattedTextFieldHoraSaida.setEnabled(false); jFormattedTextFieldHoraSaida.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jFormattedTextFieldHoraSaidaActionPerformed(evt); } }); jLabel11.setText("Hora Extra.:"); jFormattedTextFieldHoraExtra.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory( new javax.swing.text.NumberFormatter(new java.text.DecimalFormat("#0")))); jFormattedTextFieldHoraExtra.setEnabled(false); jFormattedTextFieldHoraExtra.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jFormattedTextFieldHoraExtraActionPerformed(evt); } }); jComboBoxFuncionario .setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Selecione um funcionrio" })); jComboBoxFuncionario.setEnabled(false); try { jFormattedTextFieldData.setFormatterFactory( new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.MaskFormatter("##/##/####"))); } catch (java.text.ParseException ex) { ex.printStackTrace(); } jFormattedTextFieldData.setEnabled(false); javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2); jPanel2.setLayout(jPanel2Layout); jPanel2Layout.setHorizontalGroup(jPanel2Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup() .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel2Layout.createSequentialGroup().addContainerGap().addComponent( jLabel3).addGap(18, 18, 18).addComponent(jComboBoxFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, 175, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(jPanel2Layout.createSequentialGroup().addGap(111, 111, 111).addGroup( jPanel2Layout.createParallelGroup( javax.swing.GroupLayout.Alignment.TRAILING).addComponent(jLabel7) .addComponent(jLabel4)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel2Layout.createParallelGroup( javax.swing.GroupLayout.Alignment.LEADING).addComponent( jFormattedTextFieldHoraEntrada, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jFormattedTextFieldHoraSaida, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE)))) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(jPanel2Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) .addGroup(jPanel2Layout.createSequentialGroup().addComponent(jLabel9).addGap(320, 320, 320)) .addGroup(jPanel2Layout.createSequentialGroup().addComponent(jScrollPane2) .addContainerGap()) .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup().addGroup(jPanel2Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel2Layout .createSequentialGroup().addComponent(jLabel11) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jFormattedTextFieldHoraExtra, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel2Layout .createSequentialGroup().addComponent(jLabel8) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jTextFieldStatus, javax.swing.GroupLayout.PREFERRED_SIZE, 135, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18).addComponent(jLabel10) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jFormattedTextFieldData, javax.swing.GroupLayout.PREFERRED_SIZE, 125, javax.swing.GroupLayout.PREFERRED_SIZE))) .addContainerGap())))); jPanel2Layout.setVerticalGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel2Layout.createSequentialGroup() .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel2Layout.createSequentialGroup().addContainerGap() .addGroup(jPanel2Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel11).addComponent(jFormattedTextFieldHoraExtra, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(0, 0, Short.MAX_VALUE)) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout .createSequentialGroup() .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(jPanel2Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel3).addComponent(jComboBoxFuncionario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(18, 18, 18))) .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout .createSequentialGroup() .addGroup(jPanel2Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel4).addComponent(jFormattedTextFieldHoraEntrada, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(18, 18, 18) .addGroup(jPanel2Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel7).addComponent(jFormattedTextFieldHoraSaida, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(64, 64, 64)) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup().addGroup(jPanel2Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel10) .addComponent(jTextFieldStatus, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel8).addComponent(jFormattedTextFieldData, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jLabel9) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 84, javax.swing.GroupLayout.PREFERRED_SIZE))) .addContainerGap())); jButtonAdicionar.setText("Adicionar"); jButtonAdicionar.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonAdicionarActionPerformed(evt); } }); jButtonConfirmar.setText("Confirmar"); jButtonConfirmar.setEnabled(false); jButtonConfirmar.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonConfirmarActionPerformed(evt); } }); jButtonCancelar.setText("Cancelar"); jButtonCancelar.setEnabled(false); jButtonCancelar.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonCancelarActionPerformed(evt); } }); jButtonAtualizar.setText("Atualizar"); jButtonAtualizar.setEnabled(false); jButtonAtualizar.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonAtualizarActionPerformed(evt); } }); jButtonExcluir.setText("Excluir"); jButtonExcluir.setEnabled(false); jButtonExcluir.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonExcluirActionPerformed(evt); } }); jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/br/com/registro/img/resize.png"))); // NOI18N javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout .setHorizontalGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup().addGap(85, 85, 85) .addComponent(jButtonAdicionar).addGap(18, 18, 18).addComponent(jButtonConfirmar) .addGap(18, 18, 18).addComponent(jButtonCancelar).addGap(18, 18, 18) .addComponent(jButtonAtualizar).addGap(18, 18, 18).addComponent(jButtonExcluir) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup().addContainerGap().addGroup(jPanel1Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent( jPanel2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout .createSequentialGroup() .addGroup(jPanel1Layout.createParallelGroup( javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addComponent(jButtonCodigoPesquisa) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jTextFieldCodigoPesquisa, javax.swing.GroupLayout.PREFERRED_SIZE, 62, javax.swing.GroupLayout.PREFERRED_SIZE)) .addComponent(jLabelCodigoPesquisa, javax.swing.GroupLayout.PREFERRED_SIZE, 157, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel1Layout .createParallelGroup( javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(jPanel1Layout.createSequentialGroup() .addComponent(jButtonDataPesquisa) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jDateChooserDataPesquisa, javax.swing.GroupLayout.PREFERRED_SIZE, 128, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(0, 12, Short.MAX_VALUE))) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 386, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup().addGap(0, 0, Short.MAX_VALUE) .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 142, javax.swing.GroupLayout.PREFERRED_SIZE))) .addContainerGap())); jPanel1Layout.setVerticalGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup().addContainerGap().addGroup(jPanel1Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE) .addGroup(jPanel1Layout.createSequentialGroup().addGroup(jPanel1Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(jButtonDataPesquisa, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jDateChooserDataPesquisa, javax.swing.GroupLayout.PREFERRED_SIZE, 41, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jLabel2)) .addGroup(jPanel1Layout.createSequentialGroup() .addGroup(jPanel1Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(jTextFieldCodigoPesquisa).addComponent(jButtonCodigoPesquisa, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jLabelCodigoPesquisa))) .addGap(18, 18, 18) .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jButtonAdicionar).addComponent(jButtonConfirmar) .addComponent(jButtonCancelar).addComponent(jButtonAtualizar) .addComponent(jButtonExcluir)) .addGap(13, 13, 13).addComponent(jLabel1).addContainerGap(27, Short.MAX_VALUE))); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)); layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent( jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)); setBounds(0, 20, 800, 483); }// </editor-fold>//GEN-END:initComponents private void jButtonAdicionarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonAdicionarActionPerformed // TODO add your handling code here: SimpleDateFormat data = new SimpleDateFormat("dd/MM/yyyy"); Date date = new Date(); jFormattedTextFieldData.setText(data.format(date)); jButtonAdicionar.setEnabled(false); jButtonConfirmar.setEnabled(true); jButtonCancelar.setEnabled(true); jButtonAtualizar.setEnabled(false); jButtonExcluir.setEnabled(false); jComboBoxFuncionario.setEnabled(true); jFormattedTextFieldHoraEntrada.setEnabled(true); jFormattedTextFieldHoraSaida.setEnabled(true); jFormattedTextFieldHoraExtra.setEnabled(false); jTextFieldStatus.setEnabled(false); jFormattedTextFieldData.setEnabled(true); jTextAreaDescricao.setEnabled(true); }//GEN-LAST:event_jButtonAdicionarActionPerformed private void jButtonConfirmarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonConfirmarActionPerformed // TODO add your handling code here: ControleDAO dao = new ControleDAO(); Controle control = new Controle(); HoraUtil util = new HoraUtil(); SimpleDateFormat data = new SimpleDateFormat("dd/MM/yyyy"); Date date = new Date(); String d = data.format(date); int indiceLinha = jTable1.getSelectedRow(); if (jComboBoxFuncionario.getSelectedItem().equals("Selecione um funciorio") || jFormattedTextFieldHoraEntrada.getText().isEmpty() || jFormattedTextFieldHoraSaida.getText().isEmpty() || jFormattedTextFieldData.getText().isEmpty()) { JOptionPane.showMessageDialog(null, "Campos obrigatrios vazios", "Ateno", JOptionPane.INFORMATION_MESSAGE); } else if (jFormattedTextFieldData.getText().equals(d)) { JOptionPane.showMessageDialog(null, "Funcionrio j registrou ponto nesta data", "Ateno", JOptionPane.ERROR_MESSAGE); jButtonAdicionar.setEnabled(true); jButtonConfirmar.setEnabled(false); jButtonCancelar.setEnabled(false); jButtonAtualizar.setEnabled(false); jButtonExcluir.setEnabled(false); jComboBoxFuncionario.setEnabled(false); jFormattedTextFieldHoraEntrada.setEnabled(false); jFormattedTextFieldHoraSaida.setEnabled(false); jFormattedTextFieldHoraExtra.setEnabled(false); jFormattedTextFieldData.setEnabled(false); jTextAreaDescricao.setEnabled(false); jComboBoxFuncionario.setSelectedItem("Selecione um funcionrio"); jFormattedTextFieldHoraEntrada.setText(""); jFormattedTextFieldHoraSaida.setText(""); jFormattedTextFieldHoraExtra.setText(""); jFormattedTextFieldData.setText(""); jTextAreaDescricao.setText(""); } else { SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); Date dataInicial = null; Date dataFinal = null; try { dataInicial = format .parse(jFormattedTextFieldData.getText() + " " + jFormattedTextFieldHoraEntrada.getText()); dataFinal = format .parse(jFormattedTextFieldData.getText() + " " + jFormattedTextFieldHoraSaida.getText()); Timestamp inicialStamp = new Timestamp(dataInicial.getTime()); Timestamp finalStamp = new Timestamp(dataFinal.getTime()); control.setHoraEntrada(inicialStamp); control.setHoraSaida(finalStamp); DateTime dataHoraEntrada = new DateTime(inicialStamp); DateTime dataHoraSaida = new DateTime(finalStamp); Period tempoTrabalhado = new Period(dataHoraEntrada, dataHoraSaida); int horaLocal = tempoTrabalhado.getMinutes() + tempoTrabalhado.getHours() * 60 + tempoTrabalhado.getDays() * 1440; int hora = horaLocal - 540; control.setHoraExtra(hora); control.setFuncionario((Funcionario) jComboBoxFuncionario.getSelectedItem()); control.setData(jFormattedTextFieldData.getText()); control.setStatus(util.informaAtraso(horaLocal) + ""); control.setDescricao(jTextAreaDescricao.getText()); if (dao.savar(control)) { JOptionPane.showMessageDialog(null, "Ponto registrado com sucesso", "Ateno", JOptionPane.INFORMATION_MESSAGE); jButtonAdicionar.setEnabled(true); jButtonConfirmar.setEnabled(false); jButtonCancelar.setEnabled(false); jButtonAtualizar.setEnabled(false); jButtonExcluir.setEnabled(false); jComboBoxFuncionario.setEnabled(false); jFormattedTextFieldHoraEntrada.setEnabled(false); jFormattedTextFieldHoraSaida.setEnabled(false); jFormattedTextFieldHoraExtra.setEnabled(false); jFormattedTextFieldData.setEnabled(false); jTextAreaDescricao.setEnabled(false); jComboBoxFuncionario.setSelectedItem("Selecione um funcionrio"); jFormattedTextFieldHoraEntrada.setText(""); jFormattedTextFieldHoraSaida.setText(""); jFormattedTextFieldHoraExtra.setText(""); jFormattedTextFieldData.setText(""); jTextAreaDescricao.setText(""); //======================== //--Tabela this.tabelaControle = new TableModelControle(); this.jTable1.setModel(tabelaControle); } else { JOptionPane.showMessageDialog(null, "Erro ao cadastrar.", "Ateno", JOptionPane.ERROR_MESSAGE); jButtonAdicionar.setEnabled(true); jButtonConfirmar.setEnabled(false); jButtonCancelar.setEnabled(false); jButtonAtualizar.setEnabled(false); jButtonExcluir.setEnabled(false); jComboBoxFuncionario.setEnabled(false); jFormattedTextFieldHoraEntrada.setEnabled(false); jFormattedTextFieldHoraSaida.setEnabled(false); jFormattedTextFieldHoraExtra.setEnabled(false); jFormattedTextFieldData.setEnabled(false); jTextAreaDescricao.setEnabled(false); jComboBoxFuncionario.setSelectedItem("Selecione um funcionrio"); jFormattedTextFieldHoraEntrada.setText(""); jFormattedTextFieldHoraSaida.setText(""); jFormattedTextFieldHoraExtra.setText(""); jFormattedTextFieldData.setText(""); jTextAreaDescricao.setText(""); } } catch (Exception e) { } } }//GEN-LAST:event_jButtonConfirmarActionPerformed private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTable1MouseClicked // TODO add your handling code here: //Funcionario func = new Funcionario(); FuncionarioDAO dao = new FuncionarioDAO(); int indiceLinha = jTable1.getSelectedRow(); long codigoFuncionario = Long.parseLong(jTable1.getValueAt(indiceLinha, 0) + ""); //Funcionario func = null; jComboBoxFuncionario.removeAllItems(); List<Funcionario> listaFuncionario = dao.pesquisaPorCodigoFuncionario(codigoFuncionario); listaFuncionario.forEach((func) -> { jComboBoxFuncionario.addItem(func); }); jComboBoxFuncionario.setSelectedIndex(0); jFormattedTextFieldHoraEntrada.setText(jTable1.getValueAt(indiceLinha, 1) + ""); jFormattedTextFieldHoraSaida.setText(jTable1.getValueAt(indiceLinha, 2) + ""); jFormattedTextFieldHoraExtra.setText(jTable1.getValueAt(indiceLinha, 4) + ""); jTextFieldStatus.setText(jTable1.getValueAt(indiceLinha, 3).toString()); jFormattedTextFieldData.setText(jTable1.getValueAt(indiceLinha, 5).toString()); jTextAreaDescricao.setText(jTable1.getValueAt(indiceLinha, 6).toString()); jComboBoxFuncionario.setEnabled(true); jFormattedTextFieldHoraEntrada.setEnabled(true); jFormattedTextFieldHoraSaida.setEnabled(true); jFormattedTextFieldHoraExtra.setEnabled(false); jTextFieldStatus.setEnabled(false); jTextAreaDescricao.setEnabled(true); jButtonAdicionar.setEnabled(false); jButtonConfirmar.setEnabled(false); jButtonCancelar.setEnabled(true); jButtonAtualizar.setEnabled(true); jButtonExcluir.setEnabled(true); }//GEN-LAST:event_jTable1MouseClicked private void jButtonCodigoPesquisaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonCodigoPesquisaActionPerformed // TODO add your handling code here: Funcionario func = new Funcionario(); FuncionarioDAO daoFunc = new FuncionarioDAO(); if (jTextFieldCodigoPesquisa.getText().isEmpty()) { jLabelCodigoPesquisa.setText("Digite o cdigo do funcionrio"); jLabelCodigoPesquisa.setForeground(Color.red); } else { func.setIdFuncionario(Long.parseLong(jTextFieldCodigoPesquisa.getText())); long idFunc = 0; List<Funcionario> listaFuncionario = daoFunc.pesquisaPorCodigoFuncionario(func.getIdFuncionario()); for (Funcionario funcionario : listaFuncionario) { idFunc = funcionario.getIdFuncionario(); } if (idFunc != func.getIdFuncionario()) { jLabelCodigoPesquisa.setText("Funcionario no cadastrado."); jLabelCodigoPesquisa.setForeground(Color.red); } else { this.tabelaControle = new TableModelControle(idFunc); this.jTable1.setModel(tabelaControle); jDateChooserDataPesquisa.setEnabled(true); jButtonDataPesquisa.setEnabled(true); } } }//GEN-LAST:event_jButtonCodigoPesquisaActionPerformed private void jTextFieldCodigoPesquisaKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jTextFieldCodigoPesquisaKeyPressed // TODO add your handling code here: }//GEN-LAST:event_jTextFieldCodigoPesquisaKeyPressed private void jTextFieldCodigoPesquisaKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jTextFieldCodigoPesquisaKeyReleased // TODO add your handling code here: if (jTextFieldCodigoPesquisa.getText().isEmpty()) { this.tabelaControle = new TableModelControle(); this.jTable1.setModel(tabelaControle); jDateChooserDataPesquisa.setEnabled(false); jButtonDataPesquisa.setEnabled(false); } }//GEN-LAST:event_jTextFieldCodigoPesquisaKeyReleased private void jButtonCancelarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonCancelarActionPerformed // TODO add your handling code here: jButtonAdicionar.setEnabled(true); jButtonConfirmar.setEnabled(false); jButtonCancelar.setEnabled(false); jButtonAtualizar.setEnabled(false); jButtonExcluir.setEnabled(false); jComboBoxFuncionario.setEnabled(false); jFormattedTextFieldHoraEntrada.setEnabled(false); jFormattedTextFieldHoraSaida.setEnabled(false); jFormattedTextFieldHoraExtra.setEnabled(false); jFormattedTextFieldData.setEnabled(false); jTextAreaDescricao.setEnabled(false); jComboBoxFuncionario.setSelectedItem("Selecione um funcionrio"); jFormattedTextFieldHoraEntrada.setText(""); jFormattedTextFieldHoraSaida.setText(""); jFormattedTextFieldHoraExtra.setText(""); jFormattedTextFieldData.setText(""); jTextAreaDescricao.setText(""); jComboBoxFuncionario.removeAllItems(); jComboBoxFuncionario.addItem("Selecione um funcionrio"); jComboBoxFuncionario.setSelectedItem("Selecione um funcionrio"); preencheComboboxFuncionario(); }//GEN-LAST:event_jButtonCancelarActionPerformed private void jButtonAtualizarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonAtualizarActionPerformed // TODO add your handling code here: ControleDAO dao = new ControleDAO(); Controle control = new Controle(); HoraUtil util = new HoraUtil(); if (jComboBoxFuncionario.getSelectedItem().equals("Selecione um funciorio") || jFormattedTextFieldHoraEntrada.getText().isEmpty() || jFormattedTextFieldHoraSaida.getText().isEmpty() || jFormattedTextFieldData.getText().isEmpty()) { JOptionPane.showMessageDialog(null, "Campos obrigatrios vazios", "Ateno", JOptionPane.INFORMATION_MESSAGE); } else { SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); Date dataInicial = null; Date dataFinal = null; try { dataInicial = format .parse(jFormattedTextFieldData.getText() + " " + jFormattedTextFieldHoraEntrada.getText()); dataFinal = format .parse(jFormattedTextFieldData.getText() + " " + jFormattedTextFieldHoraSaida.getText()); Timestamp inicialStamp = new Timestamp(dataInicial.getTime()); Timestamp finalStamp = new Timestamp(dataFinal.getTime()); control.setHoraEntrada(inicialStamp); control.setHoraSaida(finalStamp); DateTime dataHoraEntrada = new DateTime(inicialStamp); DateTime dataHoraSaida = new DateTime(finalStamp); Period tempoTrabalhado = new Period(dataHoraEntrada, dataHoraSaida); int horaLocal = tempoTrabalhado.getMinutes() + tempoTrabalhado.getHours() * 60 + tempoTrabalhado.getDays() * 1440; int hora = horaLocal - 540; control.setHoraExtra(hora); control.setStatus(util.informaAtraso(horaLocal) + ""); control.setDescricao(jTextAreaDescricao.getText()); if (dao.update(control)) { JOptionPane.showMessageDialog(null, "Ponto Atualizado com sucesso", "Ateno", JOptionPane.INFORMATION_MESSAGE); jButtonAdicionar.setEnabled(true); jButtonConfirmar.setEnabled(false); jButtonCancelar.setEnabled(false); jButtonAtualizar.setEnabled(false); jButtonExcluir.setEnabled(false); jComboBoxFuncionario.setEnabled(false); jFormattedTextFieldHoraEntrada.setEnabled(false); jFormattedTextFieldHoraSaida.setEnabled(false); jFormattedTextFieldHoraExtra.setEnabled(false); jFormattedTextFieldData.setEnabled(false); jTextAreaDescricao.setEnabled(false); jComboBoxFuncionario.setSelectedItem("Selecione um funcionrio"); jFormattedTextFieldHoraEntrada.setText(""); jFormattedTextFieldHoraSaida.setText(""); jFormattedTextFieldHoraExtra.setText(""); jFormattedTextFieldData.setText(""); jTextAreaDescricao.setText(""); //======================== //--Tabela this.tabelaControle = new TableModelControle(); this.jTable1.setModel(tabelaControle); } else { JOptionPane.showMessageDialog(null, "Em Desenvolvimento.", "Ateno", JOptionPane.ERROR_MESSAGE); jButtonAdicionar.setEnabled(true); jButtonConfirmar.setEnabled(false); jButtonCancelar.setEnabled(false); jButtonAtualizar.setEnabled(false); jButtonExcluir.setEnabled(false); jComboBoxFuncionario.setEnabled(false); jFormattedTextFieldHoraEntrada.setEnabled(false); jFormattedTextFieldHoraSaida.setEnabled(false); jFormattedTextFieldHoraExtra.setEnabled(false); jFormattedTextFieldData.setEnabled(false); jTextAreaDescricao.setEnabled(false); jComboBoxFuncionario.setSelectedItem("Selecione um funcionrio"); jFormattedTextFieldHoraEntrada.setText(""); jFormattedTextFieldHoraSaida.setText(""); jFormattedTextFieldHoraExtra.setText(""); jFormattedTextFieldData.setText(""); jTextAreaDescricao.setText(""); } } catch (Exception e) { } } }//GEN-LAST:event_jButtonAtualizarActionPerformed private void jButtonExcluirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonExcluirActionPerformed // TODO add your handling code here: JOptionPane.showMessageDialog(null, "Em Desenvolvimento.", "Ateno", JOptionPane.ERROR_MESSAGE); }//GEN-LAST:event_jButtonExcluirActionPerformed private void jFormattedTextFieldHoraEntradaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jFormattedTextFieldHoraEntradaActionPerformed // TODO add your handling code here: }//GEN-LAST:event_jFormattedTextFieldHoraEntradaActionPerformed private void jFormattedTextFieldHoraSaidaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jFormattedTextFieldHoraSaidaActionPerformed // TODO add your handling code here: }//GEN-LAST:event_jFormattedTextFieldHoraSaidaActionPerformed private void jFormattedTextFieldHoraExtraActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jFormattedTextFieldHoraExtraActionPerformed // TODO add your handling code here: }//GEN-LAST:event_jFormattedTextFieldHoraExtraActionPerformed private void preencheComboboxFuncionario() { FuncionarioDAO dao = new FuncionarioDAO(); List<Funcionario> listaFuncionario = dao.listaFuncionario(); listaFuncionario.forEach((func) -> { jComboBoxFuncionario.addItem(func); }); } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton jButtonAdicionar; private javax.swing.JButton jButtonAtualizar; private javax.swing.JButton jButtonCancelar; private javax.swing.JButton jButtonCodigoPesquisa; private javax.swing.JButton jButtonConfirmar; private javax.swing.JButton jButtonDataPesquisa; private javax.swing.JButton jButtonExcluir; private javax.swing.JComboBox jComboBoxFuncionario; private com.toedter.calendar.JDateChooser jDateChooserDataPesquisa; private javax.swing.JFormattedTextField jFormattedTextFieldData; private javax.swing.JFormattedTextField jFormattedTextFieldHoraEntrada; private javax.swing.JFormattedTextField jFormattedTextFieldHoraExtra; private javax.swing.JFormattedTextField jFormattedTextFieldHoraSaida; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel10; private javax.swing.JLabel jLabel11; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel7; private javax.swing.JLabel jLabel8; private javax.swing.JLabel jLabel9; private javax.swing.JLabel jLabelCodigoPesquisa; private javax.swing.JPanel jPanel1; private javax.swing.JPanel jPanel2; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JScrollPane jScrollPane2; private javax.swing.JTable jTable1; private javax.swing.JTextArea jTextAreaDescricao; private javax.swing.JTextField jTextFieldCodigoPesquisa; private javax.swing.JTextField jTextFieldStatus; // End of variables declaration//GEN-END:variables }