Metziop

Untitled

May 22nd, 2021
893
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 17.20 KB | None | 0 0
  1. package vistas;
  2.  
  3. import Conexion.MySQLConection;
  4. import Conexion.loginSesion;
  5. import controlador.cronometro;
  6. import java.sql.Connection;
  7. import java.sql.PreparedStatement;
  8. import java.sql.ResultSet;
  9. import java.sql.ResultSetMetaData;
  10. import java.sql.Time;
  11. import java.time.LocalTime;
  12. import java.util.Observable;
  13. import java.util.Observer;
  14. import java.util.logging.Level;
  15. import java.util.logging.Logger;
  16. import javax.swing.JOptionPane;
  17. import javax.swing.table.DefaultTableModel;
  18.  
  19. /**
  20.  *
  21.  * @author dario
  22.  */
  23. public class frmTareas extends javax.swing.JDialog implements Observer {
  24.  
  25.     private void actualizarTiempoTotal(String idTrabajo) {
  26.        
  27.        
  28.        
  29.         try {
  30.             PreparedStatement ps = null;
  31.             Connection conn = MySQLConection.getConnection();
  32.             String SQL = "UPDATE pedidosempleado SET tiempoTotal=TIMEDIFF(horaTermino,horaInicio) WHERE idPedidoEmpleado ="+idTrabajo+"";
  33.             ps=conn.prepareStatement(SQL);
  34.             ps.executeUpdate();
  35.         } catch (Exception ex) {
  36.             Logger.getLogger(frmTareas.class.getName()).log(Level.SEVERE, null, ex);
  37.         }
  38.        
  39.  
  40.     }
  41.  
  42.     private void actualizartabla(String user) {
  43.  
  44.         try {
  45.             DefaultTableModel model = new DefaultTableModel();
  46.             jtAsignaciones.setModel(model);
  47.             PreparedStatement ps = null;
  48.             ResultSet rs = null;
  49.             String estatus = "asignado";
  50.             Connection conn = MySQLConection.getConnection();
  51.             String sql = "select idPedidoEmpleado, nombreArreglo,tiempoEstimado,comision"
  52.                     + " from pedidosempleado INNER JOIN catalogoarreglos USING (idArreglo)"
  53.                     + " where user= '"
  54.                     + user
  55.                     + "'AND estatus ='"
  56.                     + estatus
  57.                     + "'";
  58.             ps = conn.prepareStatement(sql);
  59.             rs = ps.executeQuery();
  60.             ResultSetMetaData rsMeta = rs.getMetaData();
  61.             int columnas = rsMeta.getColumnCount();
  62.             model.addColumn("ID");
  63.             model.addColumn("Nombre Arreglo");
  64.             model.addColumn("Tiempo estimado");
  65.             model.addColumn("Comision");
  66.             int[] anchos = {20, 200, 50, 50};
  67.             for (int x = 0; x < columnas; x++) {
  68.                 jtAsignaciones.getColumnModel().getColumn(x).setPreferredWidth(anchos[x]);
  69.             }
  70.             while (rs.next()) {
  71.                 Object[] filas = new Object[columnas];
  72.                 for (int i = 0; i < columnas; i++) {
  73.                     filas[i] = rs.getObject(i + 1);
  74.                 }
  75.                 model.addRow(filas);
  76.             }
  77.         } catch (Exception e) {
  78.             JOptionPane.showMessageDialog(null, "Error al actualizar" + e);
  79.         }
  80.     }
  81.  
  82.     public frmTareas(java.awt.Frame parent, boolean modal) {
  83.         super(parent, modal);
  84.  
  85.         initComponents();
  86.         this.setLocationRelativeTo(parent);
  87.         btnStart.setEnabled(false);
  88.         btnStop.setEnabled(false);
  89.         String user = loginSesion.user;
  90.         actualizartabla(user);
  91.  
  92.     }
  93.  
  94.     @SuppressWarnings("unchecked")
  95.     // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
  96.     private void initComponents() {
  97.  
  98.         jPanel1 = new javax.swing.JPanel();
  99.         jScrollPane1 = new javax.swing.JScrollPane();
  100.         jtAsignaciones = new javax.swing.JTable();
  101.         lbTimer = new javax.swing.JLabel();
  102.         jLabel2 = new javax.swing.JLabel();
  103.         btnStart = new javax.swing.JButton();
  104.         jLabel3 = new javax.swing.JLabel();
  105.         jLabel5 = new javax.swing.JLabel();
  106.         btnStart1 = new javax.swing.JButton();
  107.         btnStop = new javax.swing.JButton();
  108.  
  109.         setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
  110.         setUndecorated(true);
  111.  
  112.         jPanel1.setBackground(new java.awt.Color(255, 255, 255));
  113.         jPanel1.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(122, 14, 2), 2, true));
  114.  
  115.         jtAsignaciones.setModel(new javax.swing.table.DefaultTableModel(
  116.             new Object [][] {
  117.  
  118.             },
  119.             new String [] {
  120.                 "idTrabajo", "tipoArreglo", "TiempoEstimado", "Comision"
  121.             }
  122.         ) {
  123.             Class[] types = new Class [] {
  124.                 java.lang.Integer.class, java.lang.String.class, java.lang.String.class, java.lang.Double.class
  125.             };
  126.             boolean[] canEdit = new boolean [] {
  127.                 false, false, false, false
  128.             };
  129.  
  130.             public Class getColumnClass(int columnIndex) {
  131.                 return types [columnIndex];
  132.             }
  133.  
  134.             public boolean isCellEditable(int rowIndex, int columnIndex) {
  135.                 return canEdit [columnIndex];
  136.             }
  137.         });
  138.         jtAsignaciones.addMouseListener(new java.awt.event.MouseAdapter() {
  139.             public void mouseClicked(java.awt.event.MouseEvent evt) {
  140.                 jtAsignacionesMouseClicked(evt);
  141.             }
  142.         });
  143.         jScrollPane1.setViewportView(jtAsignaciones);
  144.  
  145.         lbTimer.setFont(new java.awt.Font("Montserrat Black", 1, 24)); // NOI18N
  146.         lbTimer.setForeground(new java.awt.Color(102, 255, 102));
  147.         lbTimer.setText("00:00:00");
  148.  
  149.         jLabel2.setFont(new java.awt.Font("Montserrat SemiBold", 0, 14)); // NOI18N
  150.         jLabel2.setForeground(new java.awt.Color(122, 14, 2));
  151.         jLabel2.setText("Tiempo Transcurrido");
  152.  
  153.         btnStart.setBackground(new java.awt.Color(51, 255, 51));
  154.         btnStart.setFont(new java.awt.Font("Montserrat SemiBold", 1, 14)); // NOI18N
  155.         btnStart.setForeground(new java.awt.Color(255, 255, 255));
  156.         btnStart.setText("Aceptar");
  157.         btnStart.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(122, 14, 2)));
  158.         btnStart.addActionListener(new java.awt.event.ActionListener() {
  159.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  160.                 btnStartActionPerformed(evt);
  161.             }
  162.         });
  163.  
  164.         jLabel3.setFont(new java.awt.Font("Montserrat SemiBold", 0, 14)); // NOI18N
  165.         jLabel3.setForeground(new java.awt.Color(122, 14, 2));
  166.  
  167.         jLabel5.setFont(new java.awt.Font("Montserrat SemiBold", 0, 14)); // NOI18N
  168.         jLabel5.setForeground(new java.awt.Color(122, 14, 2));
  169.         jLabel5.setText(" del trabajo actual:");
  170.  
  171.         btnStart1.setBackground(new java.awt.Color(255, 255, 255));
  172.         btnStart1.setFont(new java.awt.Font("Montserrat SemiBold", 1, 14)); // NOI18N
  173.         btnStart1.setForeground(new java.awt.Color(122, 14, 2));
  174.         btnStart1.setText("Salir");
  175.         btnStart1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(122, 14, 2)));
  176.         btnStart1.addActionListener(new java.awt.event.ActionListener() {
  177.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  178.                 btnStart1ActionPerformed(evt);
  179.             }
  180.         });
  181.  
  182.         btnStop.setBackground(new java.awt.Color(255, 0, 51));
  183.         btnStop.setFont(new java.awt.Font("Montserrat SemiBold", 1, 14)); // NOI18N
  184.         btnStop.setForeground(new java.awt.Color(255, 255, 255));
  185.         btnStop.setText("Completar");
  186.         btnStop.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(122, 14, 2)));
  187.         btnStop.addActionListener(new java.awt.event.ActionListener() {
  188.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  189.                 btnStopActionPerformed(evt);
  190.             }
  191.         });
  192.  
  193.         javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
  194.         jPanel1.setLayout(jPanel1Layout);
  195.         jPanel1Layout.setHorizontalGroup(
  196.             jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  197.             .addGroup(jPanel1Layout.createSequentialGroup()
  198.                 .addContainerGap()
  199.                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  200.                     .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  201.                     .addComponent(btnStart1, javax.swing.GroupLayout.PREFERRED_SIZE, 69, javax.swing.GroupLayout.PREFERRED_SIZE))
  202.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  203.                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  204.                     .addComponent(lbTimer)
  205.                     .addComponent(jLabel2)
  206.                     .addComponent(jLabel5)
  207.                     .addGroup(jPanel1Layout.createSequentialGroup()
  208.                         .addGap(81, 81, 81)
  209.                         .addComponent(jLabel3))
  210.                     .addComponent(btnStop, javax.swing.GroupLayout.PREFERRED_SIZE, 113, javax.swing.GroupLayout.PREFERRED_SIZE)
  211.                     .addComponent(btnStart, javax.swing.GroupLayout.PREFERRED_SIZE, 113, javax.swing.GroupLayout.PREFERRED_SIZE))
  212.                 .addContainerGap(49, Short.MAX_VALUE))
  213.         );
  214.         jPanel1Layout.setVerticalGroup(
  215.             jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  216.             .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
  217.                 .addContainerGap(61, Short.MAX_VALUE)
  218.                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  219.                     .addGroup(jPanel1Layout.createSequentialGroup()
  220.                         .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 257, javax.swing.GroupLayout.PREFERRED_SIZE)
  221.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  222.                         .addComponent(btnStart1, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE))
  223.                     .addGroup(jPanel1Layout.createSequentialGroup()
  224.                         .addComponent(btnStart, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE)
  225.                         .addGap(4, 4, 4)
  226.                         .addComponent(btnStop, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE)
  227.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  228.                         .addComponent(jLabel2)
  229.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  230.                         .addComponent(jLabel5)
  231.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  232.                         .addComponent(lbTimer, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)
  233.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  234.                         .addComponent(jLabel3)))
  235.                 .addGap(48, 48, 48))
  236.         );
  237.  
  238.         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  239.         getContentPane().setLayout(layout);
  240.         layout.setHorizontalGroup(
  241.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  242.             .addComponent(jPanel1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  243.         );
  244.         layout.setVerticalGroup(
  245.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  246.             .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  247.         );
  248.  
  249.         pack();
  250.     }// </editor-fold>                        
  251.  
  252.     private void btnStartActionPerformed(java.awt.event.ActionEvent evt) {                                        
  253.  
  254.         this.btnStart.setEnabled(false);
  255.         this.btnStop.setEnabled(true);
  256.         int fila = jtAsignaciones.getSelectedRow();
  257.         String idTrabajo = jtAsignaciones.getValueAt(fila, 0).toString();
  258.         String tiempoEstimado = jtAsignaciones.getValueAt(fila, 2).toString();
  259.  
  260.         //----------------parte sql--------------------//
  261.         try {
  262.  
  263.             String querry = "UPDATE pedidosempleado SET horaInicio=?, estatus=? WHERE idPedidoEmpleado=?";
  264.             String estatus = "en elaboracion";
  265.             Connection conn = MySQLConection.getConnection();
  266.             PreparedStatement ps = conn.prepareStatement(querry);
  267.             ps.setTime(1, Time.valueOf(LocalTime.now()));
  268.             ps.setString(2, estatus);
  269.             ps.setString(3, idTrabajo);
  270.             ps.executeUpdate();
  271.  
  272.         } catch (Exception e) {
  273.             JOptionPane.showMessageDialog(null, "error" + e);
  274.         }
  275.         //----------------llamando al hilo--------------------//
  276.         cronometro crono = new cronometro(00, 00, 00);
  277.         tiempo = new Thread(crono);
  278.         crono.addObserver(this);
  279.         tiempo.start();
  280.  
  281.     }                                        
  282.  
  283.     private void btnStart1ActionPerformed(java.awt.event.ActionEvent evt) {                                          
  284.         this.dispose();
  285.     }                                        
  286.  
  287.     private void btnStopActionPerformed(java.awt.event.ActionEvent evt) {                                        
  288.         this.btnStart.setEnabled(true);
  289.  
  290.         tiempo.stop();
  291.  
  292.         try {
  293.  
  294.             int fila = jtAsignaciones.getSelectedRow();
  295.             String idTrabajo = jtAsignaciones.getValueAt(fila, 0).toString();
  296.  
  297.             String querry = "UPDATE pedidosempleado SET horaTermino=?, estatus=? WHERE idPedidoEmpleado=?";
  298.             Connection conn = MySQLConection.getConnection();
  299.             PreparedStatement ps = conn.prepareStatement(querry);
  300.             String estatus = "terminado";
  301.            
  302.  
  303.             ps.setTime(1, Time.valueOf(LocalTime.now()));
  304.             ps.setString(2, estatus);          
  305.             ps.setString(3, idTrabajo);
  306.             ps.executeUpdate();
  307.             actualizarTiempoTotal(idTrabajo);
  308.         } catch (Exception e) {
  309.             JOptionPane.showMessageDialog(null, "error" + e);
  310.         }
  311.         String user = loginSesion.user;
  312.         actualizartabla(user);
  313.        
  314.  
  315.  
  316.     }                                      
  317.  
  318.  
  319.     private void jtAsignacionesMouseClicked(java.awt.event.MouseEvent evt) {                                            
  320.         btnStart.setEnabled(true);
  321.     }                                          
  322.  
  323.     /**
  324.      * @param args the command line arguments
  325.      */
  326.     public static void main(String args[]) {
  327.         /* Set the Nimbus look and feel */
  328.         //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
  329.         /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
  330.          * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
  331.          */
  332.         try {
  333.             for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
  334.                 if ("Nimbus".equals(info.getName())) {
  335.                     javax.swing.UIManager.setLookAndFeel(info.getClassName());
  336.                     break;
  337.                 }
  338.             }
  339.         } catch (ClassNotFoundException ex) {
  340.             java.util.logging.Logger.getLogger(frmTareas.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  341.         } catch (InstantiationException ex) {
  342.             java.util.logging.Logger.getLogger(frmTareas.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  343.         } catch (IllegalAccessException ex) {
  344.             java.util.logging.Logger.getLogger(frmTareas.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  345.         } catch (javax.swing.UnsupportedLookAndFeelException ex) {
  346.             java.util.logging.Logger.getLogger(frmTareas.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  347.         }
  348.         //</editor-fold>
  349.  
  350.         /* Create and display the dialog */
  351.         java.awt.EventQueue.invokeLater(new Runnable() {
  352.             public void run() {
  353.                 frmTareas dialog = new frmTareas(new javax.swing.JFrame(), true);
  354.                 dialog.addWindowListener(new java.awt.event.WindowAdapter() {
  355.                     @Override
  356.                     public void windowClosing(java.awt.event.WindowEvent e) {
  357.                         System.exit(0);
  358.                     }
  359.                 });
  360.                 dialog.setVisible(true);
  361.             }
  362.         });
  363.     }
  364.  
  365.     @Override
  366.     public void update(Observable o, Object arg) {
  367.         lbTimer.setText((String) arg);
  368.  
  369.     }
  370.  
  371.     Thread tiempo;
  372.     // Variables declaration - do not modify                    
  373.     private javax.swing.JButton btnStart;
  374.     private javax.swing.JButton btnStart1;
  375.     private javax.swing.JButton btnStop;
  376.     private javax.swing.JLabel jLabel2;
  377.     private javax.swing.JLabel jLabel3;
  378.     private javax.swing.JLabel jLabel5;
  379.     private javax.swing.JPanel jPanel1;
  380.     private javax.swing.JScrollPane jScrollPane1;
  381.     private javax.swing.JTable jtAsignaciones;
  382.     private javax.swing.JLabel lbTimer;
  383.     // End of variables declaration                  
  384. }
  385.  
Advertisement
Add Comment
Please, Sign In to add comment