diff --git a/src/puntocassa/FrmCerca.form b/src/puntocassa/FrmCerca.form new file mode 100644 index 0000000..86492e5 --- /dev/null +++ b/src/puntocassa/FrmCerca.form @@ -0,0 +1,269 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/puntocassa/FrmCerca.java b/src/puntocassa/FrmCerca.java new file mode 100644 index 0000000..587fb20 --- /dev/null +++ b/src/puntocassa/FrmCerca.java @@ -0,0 +1,775 @@ +/* + * 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 puntocassa; + +import java.awt.Color; +import java.awt.Font; +import java.awt.Image; +import java.awt.Rectangle; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.io.File; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import javax.swing.ImageIcon; +import javax.swing.JOptionPane; +import javax.swing.JTable; +import javax.swing.JTextField; +import javax.swing.ListSelectionModel; +import javax.swing.table.TableColumn; +import puntocassa.utils.Utils; + +/** + * + * @author Marco + */ +public class FrmCerca extends javax.swing.JFrame { + +private PuntoCassa frmPuntoCassa; +private JTextField jtxtTessera; + + public int HFont=15; + private int AltControlli=100; + private int LargControlli=100; + private int AltRigaGriglia=0; + private String BP=""; + private Boolean FlagMostraDataNascita=true; + private Boolean DisabilitaPerBuono=false; + + /** + * Creates new form frm + */ + public FrmCerca(PuntoCassa frm,JTextField jtxtT,String imgPath,String BuoniPasto,Boolean flagMostraDataNascita) { + BP=BuoniPasto; + frmPuntoCassa=frm; + frmPuntoCassa.setEnabled(false); + frmPuntoCassa.addRemoveKeyDispatcher(false); + //KeyboardFocusManager.getCurrentKeyboardFocusManager().removeKeyEventDispatcher(frmPuntoCassa.keyDispatcher); +// FlagMostraDataNascita=flagMostraDataNascita; + jtxtTessera=jtxtT; + initComponents(); + String startDir = System.getProperty("user.dir"); + File IconaApp = new File(startDir + "/risorse/logo.png"); + if (IconaApp.exists()) { + + ImageIcon icon = new ImageIcon(startDir + "/risorse/logo.png"); + this.setIconImage(icon.getImage()); + } + + ImageIcon icon = new ImageIcon(imgPath +"freccia_down.jpg"); + Image img = icon.getImage() ; + Image newimg = img.getScaledInstance(50,50,java.awt.Image.SCALE_SMOOTH ) ; + icon = new ImageIcon(newimg); + jbtnGiu.setIcon(icon); + + ImageIcon icon2 = new ImageIcon(imgPath +"freccia_up.jpg"); + Image img2 = icon2.getImage() ; + Image newimg2 = img2.getScaledInstance(50,50,java.awt.Image.SCALE_SMOOTH ) ; + icon2 = new ImageIcon(newimg2); + jbtnSu.setIcon(icon2); + + // -------------------------------------------------------------------- + // ** creo evento click jTblStudenti + // -------------------------------------------------------------------- + jTblStudenti.addMouseListener(new MouseAdapter() { + public void mouseClicked(MouseEvent e) { + + if (e.getClickCount() == 1) { + //JTable target = (JTable) e.getSource(); + //int row = target.getSelectedRow(); + //int column = target.getSelectedColumn(); + jBtnOKActionPerformed(null); + } + } + }); + + if (BuoniPasto.length()<=0){ + CercaValoriDefault(); + }else{ + //jtxtCognome.requestFocus(); + //jtxtCognome.setBackground(Color.yellow); + DisabilitaPerBuono=true; + + jtxtCognome.setText(BuoniPasto); + Cerca(); + Disabilita(); + } + + } + + /** + * 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") + // //GEN-BEGIN:initComponents + private void initComponents() { + + pnl1 = new javax.swing.JPanel(); + lblCF = new javax.swing.JLabel(); + lblNome = new javax.swing.JLabel(); + lblCognome = new javax.swing.JLabel(); + jBtnCerca = new javax.swing.JButton(); + jScrollPane3 = new javax.swing.JScrollPane(); + jTblStudenti = new javax.swing.JTable(); + jtxtCognome = new javax.swing.JTextField(); + jtxtNome = new javax.swing.JTextField(); + jbtnAnnulla = new javax.swing.JButton(); + jLblTitolo = new javax.swing.JLabel(); + jtxtNumTessera = new javax.swing.JTextField(); + jBtnOK = new javax.swing.JButton(); + jbtnSu = new javax.swing.JButton(); + jbtnGiu = new javax.swing.JButton(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle("Cerca Tessera Attiva"); + addWindowListener(new java.awt.event.WindowAdapter() { + public void windowClosed(java.awt.event.WindowEvent evt) { + formWindowClosed(evt); + } + }); + + lblCF.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N + lblCF.setText("Num. Tessera:"); + + lblNome.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N + lblNome.setText("Nome:"); + + lblCognome.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N + lblCognome.setText("Cognome:"); + + jBtnCerca.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N + jBtnCerca.setText("Cerca"); + jBtnCerca.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jBtnCercaActionPerformed(evt); + } + }); + + jTblStudenti.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jTblStudenti.setModel(new javax.swing.table.DefaultTableModel( + new Object [][] { + {}, + {}, + {}, + {} + }, + new String [] { + + } + )); + jScrollPane3.setViewportView(jTblStudenti); + + jtxtCognome.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N + jtxtCognome.addFocusListener(new java.awt.event.FocusAdapter() { + public void focusGained(java.awt.event.FocusEvent evt) { + jtxtCognomeFocusGained(evt); + } + }); + jtxtCognome.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + jtxtCognomeMouseClicked(evt); + } + }); + + jtxtNome.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N + jtxtNome.addFocusListener(new java.awt.event.FocusAdapter() { + public void focusGained(java.awt.event.FocusEvent evt) { + jtxtNomeFocusGained(evt); + } + }); + jtxtNome.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + jtxtNomeMouseClicked(evt); + } + }); + + jbtnAnnulla.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N + jbtnAnnulla.setText("Annulla"); + jbtnAnnulla.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jbtnAnnullaActionPerformed(evt); + } + }); + + jLblTitolo.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N + jLblTitolo.setForeground(new java.awt.Color(255, 0, 0)); + jLblTitolo.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); + jLblTitolo.setText("Cerca Tessera Attiva"); + + jtxtNumTessera.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N + jtxtNumTessera.addFocusListener(new java.awt.event.FocusAdapter() { + public void focusGained(java.awt.event.FocusEvent evt) { + jtxtNumTesseraFocusGained(evt); + } + }); + jtxtNumTessera.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + jtxtNumTesseraMouseClicked(evt); + } + }); + + jBtnOK.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N + jBtnOK.setText("OK"); + jBtnOK.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jBtnOKActionPerformed(evt); + } + }); + + jbtnSu.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jbtnSuActionPerformed(evt); + } + }); + + jbtnGiu.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jbtnGiuActionPerformed(evt); + } + }); + + javax.swing.GroupLayout pnl1Layout = new javax.swing.GroupLayout(pnl1); + pnl1.setLayout(pnl1Layout); + pnl1Layout.setHorizontalGroup( + pnl1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnl1Layout.createSequentialGroup() + .addComponent(jLblTitolo, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGap(256, 256, 256)) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnl1Layout.createSequentialGroup() + .addGroup(pnl1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jtxtCognome, javax.swing.GroupLayout.PREFERRED_SIZE, 177, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(lblCognome)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(pnl1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(lblNome) + .addComponent(jtxtNome, javax.swing.GroupLayout.PREFERRED_SIZE, 181, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(pnl1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(pnl1Layout.createSequentialGroup() + .addComponent(lblCF) + .addContainerGap()) + .addGroup(pnl1Layout.createSequentialGroup() + .addComponent(jtxtNumTessera, javax.swing.GroupLayout.PREFERRED_SIZE, 176, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(jBtnCerca, javax.swing.GroupLayout.DEFAULT_SIZE, 128, Short.MAX_VALUE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jbtnAnnulla, javax.swing.GroupLayout.DEFAULT_SIZE, 135, Short.MAX_VALUE)))) + .addComponent(jBtnOK, javax.swing.GroupLayout.PREFERRED_SIZE, 97, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGroup(pnl1Layout.createSequentialGroup() + .addComponent(jScrollPane3) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(pnl1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jbtnSu, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jbtnGiu, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE))) + ); + pnl1Layout.setVerticalGroup( + pnl1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnl1Layout.createSequentialGroup() + .addComponent(jLblTitolo, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(pnl1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(lblCognome) + .addComponent(lblNome) + .addComponent(lblCF)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(pnl1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addGroup(pnl1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jtxtNumTessera, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jBtnCerca, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jbtnAnnulla, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(jtxtNome, javax.swing.GroupLayout.Alignment.TRAILING) + .addComponent(jtxtCognome, javax.swing.GroupLayout.Alignment.TRAILING)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(pnl1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE) + .addGroup(pnl1Layout.createSequentialGroup() + .addComponent(jbtnSu, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jbtnGiu, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 50, Short.MAX_VALUE))) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jBtnOK, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE)) + ); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 845, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() + .addGap(6, 6, 6) + .addComponent(pnl1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addContainerGap())) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 322, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addComponent(pnl1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addContainerGap())) + ); + + pack(); + }// //GEN-END:initComponents + + private void jtxtNumTesseraFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_jtxtNumTesseraFocusGained + if (DisabilitaPerBuono==false){ + Tastiera(evt); + jtxtNumTessera.setBackground(Color.yellow); + jtxtNome.setBackground(Color.white); + jtxtCognome.setBackground(Color.white); + } +// MyApplication MyA = new MyApplication(); +// if (MyA.TastieraVideo) { +// if (MyA.UltimoTxt.equalsIgnoreCase(evt.getComponent().toString())) { +// MyA.UltimoTxt = " "; +// } else { +// MyA.UltimoTxt = evt.getComponent().toString(); +// Tastiera((JTextField) evt.getComponent(), 0, 0); +// } +// } + }//GEN-LAST:event_jtxtNumTesseraFocusGained + + private void jbtnAnnullaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbtnAnnullaActionPerformed +// ClearTable((MyTableModel)jTblStudenti.getModel()); + + //frmPuntoCassa.setEnabled(true); + //frmPuntoCassa=null; + this.dispose(); + + }//GEN-LAST:event_jbtnAnnullaActionPerformed + private void ClearTable(MyTableModel model) { + try { + for (Integer i = model.getRowCount() - 1; i >= 0; i--) { + model.deleteRow(i); + } + } catch (Exception e) { + } + } + private void Tastiera(JTextField jTxt,Integer MyX,Integer MyY){ + if (DisabilitaPerBuono==false){ + MyKeyBoard myk=new MyKeyBoard(this,true); + myk.txt=jTxt; + myk.parent=this; + Rectangle s=this.getBounds(); + Rectangle s2=jTxt.getBounds(); + Integer l=s.x+s2.x+MyX; + if(l+800>s.x+s.width){l=s.x+s.width-800;} + myk.setBounds(l,s.y+s2.y+60+MyY, 800, 300); + myk.setVisible(true); + } + + } + private void jtxtNomeFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_jtxtNomeFocusGained + Tastiera(evt); + jtxtNome.setBackground(Color.yellow); + jtxtNumTessera.setBackground(Color.white); + jtxtCognome.setBackground(Color.white); +// MyApplication MyA = new MyApplication(); +// if (MyA.TastieraVideo) { +// if (MyA.UltimoTxt.equalsIgnoreCase(evt.getComponent().toString())) { +// MyA.UltimoTxt = " "; +// } else { +// MyA.UltimoTxt = evt.getComponent().toString(); +// Tastiera((JTextField) evt.getComponent(), 0, 0); +// } +// } + }//GEN-LAST:event_jtxtNomeFocusGained + + private void jtxtCognomeFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_jtxtCognomeFocusGained + if(BP.length()<=0){ + Tastiera(evt); + } + jtxtCognome.setBackground(Color.yellow); + + jtxtNumTessera.setBackground(Color.white); + jtxtNome.setBackground(Color.white); +// MyApplication MyA = new MyApplication(); +// if (MyA.TastieraVideo) { +// System.out.print("jtxtCognomeFocusGained:" + evt.getComponent().toString()); +// if (MyA.UltimoTxt.equalsIgnoreCase(evt.getComponent().toString())) { +// MyA.UltimoTxt = " "; +// } else { +// MyA.UltimoTxt = evt.getComponent().toString(); +// Tastiera((JTextField) evt.getComponent(), 0, 0); +// } +// } + }//GEN-LAST:event_jtxtCognomeFocusGained + + private void jBtnCercaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jBtnCercaActionPerformed + Cerca(); + }//GEN-LAST:event_jBtnCercaActionPerformed + public void Cerca() { + if (jtxtCognome.getText().trim().length() <= 0 && jtxtNome.getText().trim().length() <= 0 && jtxtNumTessera.getText().trim().length() <= 0) { + JOptionPane.showMessageDialog(this, "Inserire Cognome o Nome o Numero Tessera!", "Attenzione", JOptionPane.INFORMATION_MESSAGE); + return; + } + + Aggiorna(); + + } + private void Disabilita(){ + jtxtCognome.setEnabled(false); + jtxtNome.setEnabled(false); + jtxtNumTessera.setEnabled(false); + jBtnCerca.setEnabled(false); + jBtnOK.requestFocus(); + } + private void formWindowClosed(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosed + try{ + frmPuntoCassa.setEnabled(true); + frmPuntoCassa.addRemoveKeyDispatcher(true); + //KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(frmPuntoCassa.keyDispatcher); + frmPuntoCassa.toFront(); + frmPuntoCassa.repaint(); + frmPuntoCassa=null; + this.dispose(); + }catch(Exception ex){} + }//GEN-LAST:event_formWindowClosed + + private void jBtnOKActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jBtnOKActionPerformed + if (jTblStudenti.getSelectedRow() >= 0 ) { + MyTableModel model = new MyTableModel(); + model = (MyTableModel) jTblStudenti.getModel(); + String nTessera = model.getValueAt(jTblStudenti.getSelectedRow(), 4).toString(); + + jtxtTessera.setText(nTessera); + this.dispose(); + frmPuntoCassa.cercaTessera(); + + } + + }//GEN-LAST:event_jBtnOKActionPerformed + + private void jbtnSuActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbtnSuActionPerformed + // TODO add your handling code here: + if(jTblStudenti.getSelectedRow()>0){ + jTblStudenti.setRowSelectionInterval(jTblStudenti.getSelectedRow()-1, jTblStudenti.getSelectedRow()-1); + jTblStudenti.scrollRectToVisible(new Rectangle(jTblStudenti.getCellRect(jTblStudenti.getSelectedRow(), 0, true))); + } + }//GEN-LAST:event_jbtnSuActionPerformed + + private void jbtnGiuActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbtnGiuActionPerformed + // TODO add your handling code here: + if(jTblStudenti.getSelectedRow()0){Where=Where + " and UPPER(Utenti.Cognome) like '" + jtxtCognome.getText().trim().toUpperCase().replace("'", "''") + "%' ";} + if (jtxtNome.getText().trim().length()>0) {Where=Where + " and UPPER(Utenti.Nome) like '" + jtxtNome.getText().trim().toUpperCase().replace("'", "''") + "%'"; } + if (jtxtNumTessera.getText().trim().length()>0) {Where=Where + " and UPPER(Tessere.Numero) like '" + jtxtNumTessera.getText().trim().toUpperCase().replace("'", "''") + "%'"; } + String[] Col = {"id","Cognome","Nome","Data di Nascita","Tessera","Data Scadenza", "Fascia"}; + String[] ColType = {"long", "text","text","data","text","data","text"}; + String QueryCount="Select count(*) as righe " + From + Where; + QueryDati("select UTENTI.id, UTENTI.Cognome, Utenti.Nome, Utenti.Data_Di_Nascita, Tessere.Numero as Tessera, Tessere.Data_Scadenza, Fasce.Nome as Fascia " + From + Where + " order by Cognome,Nome", QueryCount, Col, ColType, jTblStudenti, false); + + //jTblStudenti.getColumn("Drawing").setPreferredWidth(200); + + + + Font f=new Font("Tahoma",0,20); + jTblStudenti.setFont(f); + if(AltRigaGriglia==0){AltRigaGriglia=jTblStudenti.getRowHeight();} +// txtUsername.setSize(CalcolaLarghezzaAltezza(txtUsername.getWidth(),LargControlli), CalcolaLarghezzaAltezza(txtUsername.getHeight(),AltControlli)); + + jTblStudenti.setRowHeight(25); + + //ClearTable((MyTableModel)jTblTessere.getModel()); + + if (jTblStudenti.getRowCount() > 0) { + jTblStudenti.setRowSelectionInterval(0, 0); + + } + ///AggiornaTessera(0); + + + } catch (Exception e) { + } + } + private Integer CalcolaLarghezzaAltezza(Integer LarControllo,Integer Percentuale){ + Integer D = Percentuale - 100; + if (D == 0) { + return LarControllo; + } else { + Integer N = LarControllo + ((LarControllo * D) / 100); + return N; + } + + } + public Object[][] RowData(String Query, String[] Cols, String[] ColType, int rowCount) { + Object[][] rows = null; + try { + Connection dbConnection = DriverManager.getConnection(frmPuntoCassa.dbStringa, frmPuntoCassa.dbUsername, frmPuntoCassa.dbPassword); + Statement st = dbConnection.createStatement(); + ResultSet rs = st.executeQuery(Query); + rows = new Object[rowCount][]; + int r = 0; + while (rs.next()) { + Object[] row = new Object[Cols.length]; + for (int i = 0; i < Cols.length; i++) { + if (rs.getString(Cols[i].replace(" ", "_")) == null) { + row[i] = ""; + } else { + row[i] = rs.getString(Cols[i].replace(" ", "_")); + } + switch (ColType[i]) { + case "text": + if (rs.getString(Cols[i].replace(" ", "_")) == null) { + row[i] = ""; + } else { + row[i] = rs.getString(Cols[i].replace(" ", "_")); + } + break; + case "integer": + if (rs.getString(Cols[i].replace(" ", "_")) == null) { + row[i] = 0; + } else { + row[i] = rs.getInt(Cols[i].replace(" ", "_")); + } + break; + case "long": + if (rs.getString(Cols[i].replace(" ", "_")) == null) { + row[i] = 0; + } else { + row[i] = rs.getLong(Cols[i].replace(" ", "_")); + } + break; + case "boolean": + if (rs.getString(Cols[i].replace(" ", "_")) == null) { + row[i] = false; + } else { + row[i] = rs.getBoolean(Cols[i].replace(" ", "_")); + } + break; + case "float": + if (rs.getString(Cols[i].replace(" ", "_")) == null) { + row[i] = 0.00; + } else { + String v = rs.getString(Cols[i].replace(" ", "_")); + + row[i] = Float.parseFloat(v.replace(",", ".")); + } + + break; + + case "data": + row[i] = ""; + if (rs.getString(Cols[i].replace(" ", "_")) != null) { +// Date d = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss",Locale.ITALY).parse(rs.getString(Cols[i])); + //SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy"); + String[] d= rs.getString(Cols[i].replace(" ", "_")).split("-"); + if (d.length>=3){ + row[i] = d[2].trim().substring(0, 2) + "/" + d[1] + "/" + d[0]; + } + } + + break; + } + + } + rows[r] = row; + r++; + /*int id = rs.getInt("id"); + String name = rs.getString("name"); + int age = rs.getInt("age"); + String address = rs.getString("address"); + float salary = rs.getFloat("salary");*/ + + } + rs.close(); + st.close(); + dbConnection.close(); + + } catch (SQLException | NumberFormatException e) { + System.err.println(e.getClass().getName() + ": " + e.getMessage()); + } finally { + + return rows; + } + + } + + /** + * @param args the command line arguments + */ + public static void main(String args[]) { + /* Set the Nimbus look and feel */ + // + /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. + * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html + */ + try { + for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { + if ("Nimbus".equals(info.getName())) { + javax.swing.UIManager.setLookAndFeel(info.getClassName()); + break; + } + } + } catch (ClassNotFoundException ex) { + java.util.logging.Logger.getLogger(FrmCerca.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (InstantiationException ex) { + java.util.logging.Logger.getLogger(FrmCerca.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (IllegalAccessException ex) { + java.util.logging.Logger.getLogger(FrmCerca.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (javax.swing.UnsupportedLookAndFeelException ex) { + java.util.logging.Logger.getLogger(FrmCerca.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } + // + // + // + // + + /* Create and display the form */ + java.awt.EventQueue.invokeLater(new Runnable() { + public void run() { + new FrmCerca(null,null,null,null,true).setVisible(true); + } + }); + } + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton jBtnCerca; + private javax.swing.JButton jBtnOK; + private javax.swing.JLabel jLblTitolo; + private javax.swing.JScrollPane jScrollPane3; + private javax.swing.JTable jTblStudenti; + private javax.swing.JButton jbtnAnnulla; + private javax.swing.JButton jbtnGiu; + private javax.swing.JButton jbtnSu; + private javax.swing.JTextField jtxtCognome; + private javax.swing.JTextField jtxtNome; + private javax.swing.JTextField jtxtNumTessera; + private javax.swing.JLabel lblCF; + private javax.swing.JLabel lblCognome; + private javax.swing.JLabel lblNome; + private javax.swing.JPanel pnl1; + // End of variables declaration//GEN-END:variables + + private void CercaValoriDefault() { + try { + MyApplication MyA = new MyApplication(); + String txtbox = Utils.mySelect("Select Valore from PARAMETRI where chiave='ImpostaTesseraCampo'", "Valore", frmPuntoCassa); + String txtboxValore = Utils.mySelect("Select Valore from PARAMETRI where chiave='ImpostaTesseraStringa'", "Valore", frmPuntoCassa); + + if (txtbox.equalsIgnoreCase("COGNOME")) { + jtxtCognome.requestFocus(); + jtxtCognome.setBackground(Color.yellow); + jtxtCognome.setText(txtboxValore); + } + if (txtbox.equalsIgnoreCase("NOME")) { + jtxtNome.requestFocus(); + jtxtNome.setBackground(Color.yellow); + jtxtNome.setText(txtboxValore); + } + if (txtbox.equalsIgnoreCase("TESSERA")) { + jtxtNumTessera.requestFocus(); + jtxtNumTessera.setBackground(Color.yellow); + jtxtNumTessera.setText(txtboxValore); + } + } catch (Exception ex) { + JOptionPane.showMessageDialog(this, ex.getMessage()); + } + } +} diff --git a/src/puntocassa/FrmMeteo.form b/src/puntocassa/FrmMeteo.form new file mode 100644 index 0000000..fadae41 --- /dev/null +++ b/src/puntocassa/FrmMeteo.form @@ -0,0 +1,99 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/puntocassa/FrmMeteo.java b/src/puntocassa/FrmMeteo.java new file mode 100644 index 0000000..281f2d3 --- /dev/null +++ b/src/puntocassa/FrmMeteo.java @@ -0,0 +1,405 @@ +/* + * 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 puntocassa; + +import java.awt.Font; +import java.awt.Rectangle; +import java.io.File; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.text.SimpleDateFormat; +import java.util.Date; +import javax.swing.ImageIcon; +import javax.swing.JComboBox; +import javax.swing.JOptionPane; +import javax.swing.JTable; +import javax.swing.JTextField; +import javax.swing.ListSelectionModel; +import javax.swing.table.TableColumn; +import puntocassa.utils.Utils; + +/** + * + * @author Marco + */ +public class FrmMeteo extends javax.swing.JFrame { + + private PuntoCassa frmPuntoCassa; + private Long idPuntoCassa=0L; + private Boolean Inserimento=false; + public int HFont=15; + private int AltControlli=100; + private int LargControlli=100; + private int AltRigaGriglia=0; + + /** + * Creates new form frm + */ + public FrmMeteo(PuntoCassa frm, Long id_Punto_Cassa,Boolean Nuovo) { + + frmPuntoCassa=frm; + frmPuntoCassa.setEnabled(false); + //KeyboardFocusManager.getCurrentKeyboardFocusManager().removeKeyEventDispatcher(frmPuntoCassa.keyDispatcher); + frmPuntoCassa.addRemoveKeyDispatcher(false); + idPuntoCassa=id_Punto_Cassa; + Inserimento=Nuovo; + initComponents(); + String startDir = System.getProperty("user.dir"); + File IconaApp = new File(startDir + "/risorse/logo.png"); + if (IconaApp.exists()) { + + ImageIcon icon = new ImageIcon(startDir + "/risorse/logo.png"); + this.setIconImage(icon.getImage()); + } + CaricaCombo("Select nome,id from condizioni_meteo order by nome", "nome", "id", jCmbCat); + + } + + /** + * 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") + // //GEN-BEGIN:initComponents + private void initComponents() { + + pnl1 = new javax.swing.JPanel(); + jBtnAggiorna = new javax.swing.JButton(); + jCmbCat = new javax.swing.JComboBox(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle("Aggiorna condizioni Meteo"); + addWindowListener(new java.awt.event.WindowAdapter() { + public void windowClosed(java.awt.event.WindowEvent evt) { + formWindowClosed(evt); + } + }); + + jBtnAggiorna.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jBtnAggiorna.setText("Aggiorna"); + jBtnAggiorna.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jBtnAggiornaActionPerformed(evt); + } + }); + + jCmbCat.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jCmbCat.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" })); + + javax.swing.GroupLayout pnl1Layout = new javax.swing.GroupLayout(pnl1); + pnl1.setLayout(pnl1Layout); + pnl1Layout.setHorizontalGroup( + pnl1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(pnl1Layout.createSequentialGroup() + .addComponent(jCmbCat, 0, 238, Short.MAX_VALUE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jBtnAggiorna, javax.swing.GroupLayout.PREFERRED_SIZE, 97, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(6, 6, 6)) + ); + pnl1Layout.setVerticalGroup( + pnl1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnl1Layout.createSequentialGroup() + .addContainerGap() + .addGroup(pnl1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jCmbCat, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jBtnAggiorna)) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addComponent(pnl1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(pnl1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + ); + + pack(); + }// //GEN-END:initComponents + private void ClearTable(MyTableModel model) { + try { + for (Integer i = model.getRowCount() - 1; i >= 0; i--) { + model.deleteRow(i); + } + } catch (Exception e) { + } + } + private void Tastiera(JTextField jTxt,Integer MyX,Integer MyY){ + + MyKeyBoard myk=new MyKeyBoard(this,false); + myk.txt=jTxt; + myk.parent=this; + Rectangle s=this.getBounds(); + Rectangle s2=jTxt.getBounds(); + Integer l=s.x+s2.x+MyX; + if(l+800>s.x+s.width){l=s.x+s.width-800;} + myk.setBounds(l,s.y+s2.y+60+MyY, 800, 300); + myk.setVisible(true); + + } + private void formWindowClosed(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosed + try { + frmPuntoCassa.setEnabled(true); + //KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(frmPuntoCassa.keyDispatcher); + frmPuntoCassa.addRemoveKeyDispatcher(true); + frmPuntoCassa.toFront(); + frmPuntoCassa.repaint(); + + frmPuntoCassa = null; + this.dispose(); + } catch (Exception ex) { + + } + }//GEN-LAST:event_formWindowClosed + + private void jBtnAggiornaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jBtnAggiornaActionPerformed + ComboItem c = new ComboItem(null, null); + c = (ComboItem) jCmbCat.getSelectedItem(); + if (Inserimento) { + MyInsert("insert into meteo (id_Punto_Cassa,id_Condizioni) values (" + idPuntoCassa + "," + c.getKey() + ")"); + } else { + Date Adesso=new Date(); + MyInsert("Update meteo set id_Condizioni=" + c.getKey() + " where id_Punto_Cassa=" + + idPuntoCassa + " and to_date(ts_segnalazione,'dd/mm/yy')=" + AggiustaData(Adesso)); + } + this.dispose(); + }//GEN-LAST:event_jBtnAggiornaActionPerformed + + private String AggiustaData(Date Data) { + SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy"); + String data = "to_date('" + formatter.format(Data) + "','dd/mm/yyyy')"; + return data; + } + + private Boolean MyInsert(String Query) { + Boolean res=false; + try { + Connection dbConnection = DriverManager.getConnection(frmPuntoCassa.dbStringa, frmPuntoCassa.dbUsername, frmPuntoCassa.dbPassword); + Statement st = dbConnection.createStatement(); + ResultSet rs = st.executeQuery(Query); + rs.close(); + st.close(); + dbConnection.close(); + res=true; + } catch (SQLException e) { + JOptionPane.showMessageDialog(this, "Errore MySelect ['" + e.getMessage() + " " + Query + "']"); + + } + return res; + } + private void QueryDati(String Query,String QueryCount,String[] Colonne,String[] ColType, JTable jTbl,Boolean Editable){ + try{ + MyApplication MyA=new MyApplication(); + MyTableModel model = new MyTableModel( ); + model.setColumname(Colonne); + +// model.setEditable(Editable); +// int [] colBool=new int[1]; +// colBool[0]=7; +// model.setColBoolean(colBool); +// int[] cols=new int[1]; +// cols[0]=7; +// model.setColModificabile(cols); + int rowCount=Integer.parseInt(Utils.mySelect(QueryCount, "righe", frmPuntoCassa)); + Object[][] data = RowData(Query, Colonne,ColType,rowCount); + model.setData(data); + + try{jTbl.setModel(model);}catch(Exception e){} + jTbl.setAutoCreateColumnsFromModel(true); + + jTbl.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + jTbl.getTableHeader().setFont(new Font("Tahoma", Font.BOLD, 16)); + jTbl.setFont(new Font("Tahoma", 0, 16)); + + + TableColumn column = jTbl.getColumn("id"); + column.setMinWidth(0); + column.setMaxWidth(0); + column.setWidth(0); + column.setPreferredWidth(0); + + model.fireTableDataChanged(); + + doLayout(); + }catch(NumberFormatException e){ + + System.out.println("Query: " + e.getMessage()); + } + + } + private Integer CalcolaLarghezzaAltezza(Integer LarControllo,Integer Percentuale){ + Integer D = Percentuale - 100; + if (D == 0) { + return LarControllo; + } else { + Integer N = LarControllo + ((LarControllo * D) / 100); + return N; + } + + } + public Object[][] RowData(String Query, String[] Cols, String[] ColType, int rowCount) { + Object[][] rows = null; + try { + Connection dbConnection = DriverManager.getConnection(frmPuntoCassa.dbStringa, frmPuntoCassa.dbUsername, frmPuntoCassa.dbPassword); + Statement st = dbConnection.createStatement(); + ResultSet rs = st.executeQuery(Query); + rows = new Object[rowCount][]; + int r = 0; + while (rs.next()) { + Object[] row = new Object[Cols.length]; + for (int i = 0; i < Cols.length; i++) { + if (rs.getString(Cols[i].replace(" ", "_")) == null) { + row[i] = ""; + } else { + row[i] = rs.getString(Cols[i].replace(" ", "_")); + } + switch (ColType[i]) { + case "text": + if (rs.getString(Cols[i].replace(" ", "_")) == null) { + row[i] = ""; + } else { + row[i] = rs.getString(Cols[i].replace(" ", "_")); + } + break; + case "integer": + if (rs.getString(Cols[i].replace(" ", "_")) == null) { + row[i] = 0; + } else { + row[i] = rs.getInt(Cols[i].replace(" ", "_")); + } + break; + case "boolean": + if (rs.getString(Cols[i].replace(" ", "_")) == null) { + row[i] = false; + } else { + row[i] = rs.getBoolean(Cols[i].replace(" ", "_")); + } + break; + case "float": + if (rs.getString(Cols[i].replace(" ", "_")) == null) { + row[i] = 0.00; + } else { + String v = rs.getString(Cols[i].replace(" ", "_")); + + row[i] = Float.parseFloat(v.replace(",", ".")); + } + + break; + + case "data": + row[i] = ""; + if (rs.getString(Cols[i].replace(" ", "_")) != null) { +// Date d = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss",Locale.ITALY).parse(rs.getString(Cols[i])); + //SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy"); + String[] d= rs.getString(Cols[i].replace(" ", "_")).split("-"); + if (d.length>=3){ + row[i] = d[2].trim().substring(0, 2) + "/" + d[1] + "/" + d[0]; + } + } + + break; + } + + } + rows[r] = row; + r++; + /*int id = rs.getInt("id"); + String name = rs.getString("name"); + int age = rs.getInt("age"); + String address = rs.getString("address"); + float salary = rs.getFloat("salary");*/ + + } + rs.close(); + st.close(); + + + } catch (SQLException | NumberFormatException e) { + System.err.println(e.getClass().getName() + ": " + e.getMessage()); + } finally { + + return rows; + } + + } + /** + * @param args the command line arguments + */ + public static void main(String args[]) { + /* Set the Nimbus look and feel */ + // + /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. + * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html + */ + try { + for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { + if ("Nimbus".equals(info.getName())) { + javax.swing.UIManager.setLookAndFeel(info.getClassName()); + break; + } + } + } catch (ClassNotFoundException ex) { + java.util.logging.Logger.getLogger(FrmMeteo.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (InstantiationException ex) { + java.util.logging.Logger.getLogger(FrmMeteo.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (IllegalAccessException ex) { + java.util.logging.Logger.getLogger(FrmMeteo.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (javax.swing.UnsupportedLookAndFeelException ex) { + java.util.logging.Logger.getLogger(FrmMeteo.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } + // + // + + /* Create and display the form */ + java.awt.EventQueue.invokeLater(new Runnable() { + public void run() { + new FrmMeteo(null,0L,true).setVisible(true); + } + }); + } + private void CaricaCombo (String Query, String itemValue, String itemId, JComboBox cmb) { + try { + Connection dbConnection = DriverManager.getConnection(frmPuntoCassa.dbStringa, frmPuntoCassa.dbUsername, frmPuntoCassa.dbPassword); + Connection c = dbConnection; + Statement stmt = null; + cmb.removeAllItems(); + stmt = c.createStatement(); + ResultSet rs = stmt.executeQuery(Query); + int r = 0; + while (rs.next()) { + + ComboItem row=new ComboItem(rs.getLong(itemId), rs.getString(itemValue)) ; + cmb.addItem(row); + + r++; + + } + rs.close(); + stmt.close(); + dbConnection.close(); + + } catch (SQLException e) { + System.err.println(e.getClass().getName() + ": " + e.getMessage()); + } + + } + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton jBtnAggiorna; + private javax.swing.JComboBox jCmbCat; + private javax.swing.JPanel pnl1; + // End of variables declaration//GEN-END:variables +} diff --git a/src/puntocassa/FrmMovimenti.form b/src/puntocassa/FrmMovimenti.form new file mode 100644 index 0000000..0e5c724 --- /dev/null +++ b/src/puntocassa/FrmMovimenti.form @@ -0,0 +1,152 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/puntocassa/FrmMovimenti.java b/src/puntocassa/FrmMovimenti.java new file mode 100644 index 0000000..502830d --- /dev/null +++ b/src/puntocassa/FrmMovimenti.java @@ -0,0 +1,516 @@ +/* + * 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 puntocassa; + +import java.awt.Font; +import java.awt.Image; +import java.awt.Rectangle; +import java.io.File; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import javax.swing.ImageIcon; +import javax.swing.JOptionPane; +import javax.swing.JTable; +import javax.swing.JTextField; +import javax.swing.ListSelectionModel; +import javax.swing.table.TableColumn; +import puntocassa.utils.Utils; + +/** + * + * @author Marco + */ +public class FrmMovimenti extends javax.swing.JFrame { + + private PuntoCassa frmPuntoCassa; + private Long idTessera=0L,idPuntoCassa=0L; + public int HFont = 15; + private int AltControlli = 100; + private int LargControlli = 100; + private int AltRigaGriglia = 0; + + + /** + * Creates new form frm + */ + public FrmMovimenti(PuntoCassa frm,Long IDTessera,Long IDPuntoCassa,String imgPath) { + + frmPuntoCassa=frm; + frmPuntoCassa.setEnabled(false); + //KeyboardFocusManager.getCurrentKeyboardFocusManager().removeKeyEventDispatcher(frmPuntoCassa.keyDispatcher); + frmPuntoCassa.addRemoveKeyDispatcher(false); + + idPuntoCassa=IDPuntoCassa; + idTessera=IDTessera; + + initComponents(); + + String startDir = System.getProperty("user.dir"); + File IconaApp = new File(startDir + "/risorse/logo.png"); + if (IconaApp.exists()) { + + ImageIcon icon = new ImageIcon(startDir + "/risorse/logo.png"); + this.setIconImage(icon.getImage()); + } + + + ImageIcon icon = new ImageIcon(imgPath +"freccia_down.jpg"); + Image img = icon.getImage() ; + Image newimg = img.getScaledInstance(50,50,java.awt.Image.SCALE_SMOOTH ) ; + icon = new ImageIcon(newimg); + jbtnGiu.setIcon(icon); + + ImageIcon icon2 = new ImageIcon(imgPath +"freccia_up.jpg"); + Image img2 = icon2.getImage() ; + Image newimg2 = img2.getScaledInstance(50,50,java.awt.Image.SCALE_SMOOTH ) ; + icon2 = new ImageIcon(newimg2); + jbtnSu.setIcon(icon2); + Aggiorna(); + + } + + /** + * 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") + // //GEN-BEGIN:initComponents + private void initComponents() { + + pnl1 = new javax.swing.JPanel(); + jScrollPane3 = new javax.swing.JScrollPane(); + jTblStudenti = new javax.swing.JTable(); + jbtnAnnulla = new javax.swing.JButton(); + jLblTitolo = new javax.swing.JLabel(); + jbtnSu = new javax.swing.JButton(); + jbtnGiu = new javax.swing.JButton(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle("Ultimi Movimenti"); + addWindowListener(new java.awt.event.WindowAdapter() { + public void windowClosed(java.awt.event.WindowEvent evt) { + formWindowClosed(evt); + } + }); + + jTblStudenti.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jTblStudenti.setModel(new javax.swing.table.DefaultTableModel( + new Object [][] { + {}, + {}, + {}, + {} + }, + new String [] { + + } + )); + jScrollPane3.setViewportView(jTblStudenti); + + jbtnAnnulla.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N + jbtnAnnulla.setText("Annulla"); + jbtnAnnulla.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jbtnAnnullaActionPerformed(evt); + } + }); + + jLblTitolo.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N + jLblTitolo.setForeground(new java.awt.Color(255, 0, 0)); + jLblTitolo.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); + jLblTitolo.setText("Ultimi Movimenti"); + + jbtnSu.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jbtnSuActionPerformed(evt); + } + }); + + jbtnGiu.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jbtnGiuActionPerformed(evt); + } + }); + + javax.swing.GroupLayout pnl1Layout = new javax.swing.GroupLayout(pnl1); + pnl1.setLayout(pnl1Layout); + pnl1Layout.setHorizontalGroup( + pnl1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnl1Layout.createSequentialGroup() + .addComponent(jLblTitolo, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGap(8, 8, 8)) + .addGroup(pnl1Layout.createSequentialGroup() + .addComponent(jScrollPane3, javax.swing.GroupLayout.DEFAULT_SIZE, 768, Short.MAX_VALUE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(pnl1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jbtnSu, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jbtnGiu, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE))) + .addGroup(pnl1Layout.createSequentialGroup() + .addGap(0, 0, Short.MAX_VALUE) + .addComponent(jbtnAnnulla, javax.swing.GroupLayout.PREFERRED_SIZE, 215, javax.swing.GroupLayout.PREFERRED_SIZE)) + ); + pnl1Layout.setVerticalGroup( + pnl1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnl1Layout.createSequentialGroup() + .addComponent(jLblTitolo, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(pnl1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jScrollPane3, javax.swing.GroupLayout.DEFAULT_SIZE, 225, Short.MAX_VALUE) + .addGroup(pnl1Layout.createSequentialGroup() + .addComponent(jbtnSu, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jbtnGiu, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, Short.MAX_VALUE))) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jbtnAnnulla, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 850, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() + .addGap(6, 6, 6) + .addComponent(pnl1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addContainerGap())) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 307, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addComponent(pnl1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addContainerGap())) + ); + + pack(); + }// //GEN-END:initComponents + + private void jbtnAnnullaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbtnAnnullaActionPerformed +// ClearTable((MyTableModel)jTblStudenti.getModel()); + +// frmPuntoCassa.setEnabled(true); +// frmPuntoCassa=null; + this.dispose(); + + }//GEN-LAST:event_jbtnAnnullaActionPerformed + private void ClearTable(MyTableModel model) { + try { + for (Integer i = model.getRowCount() - 1; i >= 0; i--) { + model.deleteRow(i); + } + } catch (Exception e) { + } + } + private void Tastiera(JTextField jTxt,Integer MyX,Integer MyY){ + + MyKeyBoard myk=new MyKeyBoard(this,false); + myk.txt=jTxt; + myk.parent=this; + Rectangle s=this.getBounds(); + Rectangle s2=jTxt.getBounds(); + Integer l=s.x+s2.x+MyX; + if(l+800>s.x+s.width){l=s.x+s.width-800;} + myk.setBounds(l,s.y+s2.y+60+MyY, 800, 300); + myk.setVisible(true); + + } + private void formWindowClosed(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosed + try{ + frmPuntoCassa.setEnabled(true); + //KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(frmPuntoCassa.keyDispatcher); + frmPuntoCassa.addRemoveKeyDispatcher(true); + frmPuntoCassa.toFront(); + frmPuntoCassa.repaint(); + frmPuntoCassa=null; + this.dispose(); + }catch(Exception ex){} + }//GEN-LAST:event_formWindowClosed + + private void jbtnSuActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbtnSuActionPerformed + // TODO add your handling code here: + if(jTblStudenti.getSelectedRow()>0){ + jTblStudenti.setRowSelectionInterval(jTblStudenti.getSelectedRow()-1, jTblStudenti.getSelectedRow()-1); + jTblStudenti.scrollRectToVisible(new Rectangle(jTblStudenti.getCellRect(jTblStudenti.getSelectedRow(), 0, true))); + } + }//GEN-LAST:event_jbtnSuActionPerformed + + private void jbtnGiuActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbtnGiuActionPerformed + // TODO add your handling code here: + if(jTblStudenti.getSelectedRow() 0) { + jTblStudenti.setRowSelectionInterval(0, 0); + + } + ///AggiornaTessera(0); + + + } catch (Exception e) { + } + } + private Integer CalcolaLarghezzaAltezza(Integer LarControllo,Integer Percentuale){ + Integer D = Percentuale - 100; + if (D == 0) { + return LarControllo; + } else { + Integer N = LarControllo + ((LarControllo * D) / 100); + return N; + } + + } + public Object[][] RowData(String Query, String[] Cols, String[] ColType, int rowCount) { + Object[][] rows = null; + try { + Connection dbConnection = DriverManager.getConnection(frmPuntoCassa.dbStringa, frmPuntoCassa.dbUsername, frmPuntoCassa.dbPassword); + Statement st = dbConnection.createStatement(); + ResultSet rs = st.executeQuery(Query); + rows = new Object[rowCount][]; + int r = 0; + while (rs.next()) { + Object[] row = new Object[Cols.length]; + for (int i = 0; i < Cols.length; i++) { + if (rs.getString(Cols[i].replace(" ", "_")) == null) { + row[i] = ""; + } else { + row[i] = rs.getString(Cols[i].replace(" ", "_")); + } + switch (ColType[i]) { + case "text": + if (rs.getString(Cols[i].replace(" ", "_")) == null) { + row[i] = ""; + } else { + row[i] = rs.getString(Cols[i].replace(" ", "_")); + } + break; + case "integer": + if (rs.getString(Cols[i].replace(" ", "_")) == null) { + row[i] = 0; + } else { + row[i] = rs.getInt(Cols[i].replace(" ", "_")); + } + break; + case "long": + if (rs.getString(Cols[i].replace(" ", "_")) == null) { + row[i] = 0; + } else { + row[i] = rs.getLong(Cols[i].replace(" ", "_")); + } + break; + case "boolean": + if (rs.getString(Cols[i].replace(" ", "_")) == null) { + row[i] = false; + } else { + row[i] = rs.getBoolean(Cols[i].replace(" ", "_")); + } + break; + case "float": + if (rs.getString(Cols[i].replace(" ", "_")) == null) { + row[i] = 0.00; + } else { + String v = rs.getString(Cols[i].replace(" ", "_")); + + row[i] = Float.parseFloat(v.replace(",", ".")); + } + + break; + + case "data": + row[i] = ""; + if (rs.getString(Cols[i].replace(" ", "_")) != null) { +// Date d = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss",Locale.ITALY).parse(rs.getString(Cols[i])); + //SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy"); + String[] d= rs.getString(Cols[i].replace(" ", "_")).split("-"); + if (d.length>=3){ + String Ora=""; + + if(d[2].length()>8){ + String[] dx=d[2].trim().split(" "); + if(dx.length>1){ + Ora=dx[1].substring(0,8); + } + } + row[i] = d[2].trim().substring(0, 2) + "/" + d[1] + "/" + d[0] + " " + Ora; + } + } + + break; + } + + } + rows[r] = row; + r++; + /*int id = rs.getInt("id"); + String name = rs.getString("name"); + int age = rs.getInt("age"); + String address = rs.getString("address"); + float salary = rs.getFloat("salary");*/ + + } + rs.close(); + st.close(); + dbConnection.close(); + + } catch (SQLException | NumberFormatException e) { + System.err.println(e.getClass().getName() + ": " + e.getMessage()); + } finally { + + return rows; + } + + } + /** + * @param args the command line arguments + */ + public static void main(String args[]) { + /* Set the Nimbus look and feel */ + // + /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. + * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html + */ + try { + for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { + if ("Nimbus".equals(info.getName())) { + javax.swing.UIManager.setLookAndFeel(info.getClassName()); + break; + } + } + } catch (ClassNotFoundException ex) { + java.util.logging.Logger.getLogger(FrmMovimenti.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (InstantiationException ex) { + java.util.logging.Logger.getLogger(FrmMovimenti.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (IllegalAccessException ex) { + java.util.logging.Logger.getLogger(FrmMovimenti.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (javax.swing.UnsupportedLookAndFeelException ex) { + java.util.logging.Logger.getLogger(FrmMovimenti.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } + // + // + // + // + + /* Create and display the form */ + java.awt.EventQueue.invokeLater(new Runnable() { + public void run() { + new FrmMovimenti(null,0L,0L,null).setVisible(true); + } + }); + } + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JLabel jLblTitolo; + private javax.swing.JScrollPane jScrollPane3; + private javax.swing.JTable jTblStudenti; + private javax.swing.JButton jbtnAnnulla; + private javax.swing.JButton jbtnGiu; + private javax.swing.JButton jbtnSu; + private javax.swing.JPanel pnl1; + // End of variables declaration//GEN-END:variables +} diff --git a/src/puntocassa/FrmProdotti.form b/src/puntocassa/FrmProdotti.form new file mode 100644 index 0000000..3117897 --- /dev/null +++ b/src/puntocassa/FrmProdotti.form @@ -0,0 +1,290 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/puntocassa/FrmProdotti.java b/src/puntocassa/FrmProdotti.java new file mode 100644 index 0000000..e46da25 --- /dev/null +++ b/src/puntocassa/FrmProdotti.java @@ -0,0 +1,744 @@ +/* + * 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 puntocassa; + +import java.awt.Font; +import java.awt.Image; +import java.awt.Rectangle; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.io.File; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import javax.swing.ImageIcon; +import javax.swing.JComboBox; +import javax.swing.JOptionPane; +import javax.swing.JTable; +import javax.swing.JTextField; +import javax.swing.ListSelectionModel; +import javax.swing.table.TableColumn; +import puntocassa.utils.Utils; + +/** + * + * @author Marco + */ +public class FrmProdotti extends javax.swing.JFrame { + +private PuntoCassa frmPuntoCassa; + + + public int HFont=15; + private int AltControlli=100; + private int LargControlli=100; + private int AltRigaGriglia=0; + + /** + * Creates new form frm + */ + public FrmProdotti(PuntoCassa frm,String imgPath) { + + frmPuntoCassa=frm; + frmPuntoCassa.setEnabled(false); + //KeyboardFocusManager.getCurrentKeyboardFocusManager().removeKeyEventDispatcher(frmPuntoCassa.keyDispatcher); + frmPuntoCassa.addRemoveKeyDispatcher(false); + initComponents(); + + String startDir = System.getProperty("user.dir"); + File IconaApp = new File(startDir + "/risorse/logo.png"); + if (IconaApp.exists()) { + + ImageIcon icon = new ImageIcon(startDir + "/risorse/logo.png"); + this.setIconImage(icon.getImage()); + } + + ImageIcon icon = new ImageIcon(imgPath +"freccia_down.jpg"); + Image img = icon.getImage() ; + Image newimg = img.getScaledInstance(50,50,java.awt.Image.SCALE_SMOOTH ) ; + icon = new ImageIcon(newimg); + jbtnGiu.setIcon(icon); + + ImageIcon icon2 = new ImageIcon(imgPath +"freccia_up.jpg"); + Image img2 = icon2.getImage() ; + Image newimg2 = img2.getScaledInstance(50,50,java.awt.Image.SCALE_SMOOTH ) ; + icon2 = new ImageIcon(newimg2); + jbtnSu.setIcon(icon2); + + // -------------------------------------------------------------------- + // ** creo evento click jTblStudenti + // -------------------------------------------------------------------- + jTblProdotti.addMouseListener(new MouseAdapter() { + public void mouseClicked(MouseEvent e) { + + if (e.getClickCount() == 1) { + //JTable target = (JTable) e.getSource(); + //int row = target.getSelectedRow(); + //int column = target.getSelectedColumn(); +// jBtnOKActionPerformed(null); + } + } + }); + CaricaCombo("Select nome,id from categorie_prodotti union select ' ' as nome,0 as id from categorie_prodotti order by nome", "nome", "id", jCmbCat); + } + + /** + * 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") + // //GEN-BEGIN:initComponents + private void initComponents() { + + pnl1 = new javax.swing.JPanel(); + jScrollPane3 = new javax.swing.JScrollPane(); + jTblProdotti = new javax.swing.JTable(); + jLblTitolo = new javax.swing.JLabel(); + jbtnAggiungi = new javax.swing.JButton(); + lblCognome = new javax.swing.JLabel(); + jtxtCodice = new javax.swing.JTextField(); + jBtnCerca = new javax.swing.JButton(); + jbtnAnnulla2 = new javax.swing.JButton(); + jCmbCat = new javax.swing.JComboBox(); + lblCognome1 = new javax.swing.JLabel(); + jtxtProdotto = new javax.swing.JTextField(); + lblCognome2 = new javax.swing.JLabel(); + jbtnSu = new javax.swing.JButton(); + jbtnGiu = new javax.swing.JButton(); + jbtnElimina = new javax.swing.JButton(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle("Cerca Prodotto"); + addWindowListener(new java.awt.event.WindowAdapter() { + public void windowClosed(java.awt.event.WindowEvent evt) { + formWindowClosed(evt); + } + }); + + jTblProdotti.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N + jTblProdotti.setModel(new javax.swing.table.DefaultTableModel( + new Object [][] { + {}, + {}, + {}, + {} + }, + new String [] { + + } + )); + jScrollPane3.setViewportView(jTblProdotti); + + jLblTitolo.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N + jLblTitolo.setForeground(new java.awt.Color(255, 0, 0)); + jLblTitolo.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); + jLblTitolo.setText("Cerca Prodotti"); + + jbtnAggiungi.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N + jbtnAggiungi.setText("Aggiungi Prodotto"); + jbtnAggiungi.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jbtnAggiungiActionPerformed(evt); + } + }); + + lblCognome.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N + lblCognome.setText("Categoria:"); + + jtxtCodice.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N + jtxtCodice.addFocusListener(new java.awt.event.FocusAdapter() { + public void focusGained(java.awt.event.FocusEvent evt) { + jtxtCodiceFocusGained(evt); + } + }); + jtxtCodice.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + jtxtCodiceMouseClicked(evt); + } + }); + + jBtnCerca.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N + jBtnCerca.setText("Cerca"); + jBtnCerca.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jBtnCercaActionPerformed(evt); + } + }); + + jbtnAnnulla2.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N + jbtnAnnulla2.setText("Annulla"); + jbtnAnnulla2.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jbtnAnnulla2ActionPerformed(evt); + } + }); + + jCmbCat.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N + jCmbCat.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" })); + + lblCognome1.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N + lblCognome1.setText("Codice:"); + + jtxtProdotto.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N + jtxtProdotto.addFocusListener(new java.awt.event.FocusAdapter() { + public void focusGained(java.awt.event.FocusEvent evt) { + jtxtProdottoFocusGained(evt); + } + }); + jtxtProdotto.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseClicked(java.awt.event.MouseEvent evt) { + jtxtProdottoMouseClicked(evt); + } + }); + + lblCognome2.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N + lblCognome2.setText("Prodotto:"); + + jbtnSu.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jbtnSuActionPerformed(evt); + } + }); + + jbtnGiu.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jbtnGiuActionPerformed(evt); + } + }); + + jbtnElimina.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N + jbtnElimina.setText("Elimina Prodotto"); + jbtnElimina.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jbtnEliminaActionPerformed(evt); + } + }); + + javax.swing.GroupLayout pnl1Layout = new javax.swing.GroupLayout(pnl1); + pnl1.setLayout(pnl1Layout); + pnl1Layout.setHorizontalGroup( + pnl1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(pnl1Layout.createSequentialGroup() + .addGroup(pnl1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(pnl1Layout.createSequentialGroup() + .addComponent(lblCognome) + .addGap(0, 180, Short.MAX_VALUE)) + .addComponent(jCmbCat, 0, 274, Short.MAX_VALUE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(pnl1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(lblCognome1) + .addComponent(jtxtCodice, javax.swing.GroupLayout.PREFERRED_SIZE, 130, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(pnl1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(lblCognome2) + .addGroup(pnl1Layout.createSequentialGroup() + .addComponent(jtxtProdotto, javax.swing.GroupLayout.DEFAULT_SIZE, 121, Short.MAX_VALUE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jBtnCerca, javax.swing.GroupLayout.PREFERRED_SIZE, 97, javax.swing.GroupLayout.PREFERRED_SIZE))) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jbtnAnnulla2, javax.swing.GroupLayout.PREFERRED_SIZE, 93, javax.swing.GroupLayout.PREFERRED_SIZE) + .addContainerGap()) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnl1Layout.createSequentialGroup() + .addComponent(jLblTitolo, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGap(8, 8, 8)) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnl1Layout.createSequentialGroup() + .addGroup(pnl1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) + .addGroup(pnl1Layout.createSequentialGroup() + .addComponent(jbtnAggiungi, javax.swing.GroupLayout.PREFERRED_SIZE, 261, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(jbtnElimina, javax.swing.GroupLayout.PREFERRED_SIZE, 261, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addComponent(jScrollPane3)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(pnl1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jbtnSu, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jbtnGiu, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addContainerGap()) + ); + pnl1Layout.setVerticalGroup( + pnl1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnl1Layout.createSequentialGroup() + .addComponent(jLblTitolo, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(pnl1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(pnl1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(lblCognome1) + .addComponent(lblCognome)) + .addComponent(lblCognome2) + .addGroup(pnl1Layout.createSequentialGroup() + .addGap(21, 21, 21) + .addGroup(pnl1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) + .addGroup(pnl1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jCmbCat, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jbtnAnnulla2)) + .addComponent(jBtnCerca, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(jtxtCodice) + .addComponent(jtxtProdotto)))) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(pnl1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jScrollPane3, javax.swing.GroupLayout.DEFAULT_SIZE, 170, Short.MAX_VALUE) + .addGroup(pnl1Layout.createSequentialGroup() + .addComponent(jbtnSu, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jbtnGiu, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, Short.MAX_VALUE))) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(pnl1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jbtnAggiungi, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jbtnElimina, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addContainerGap()) + ); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() + .addContainerGap() + .addComponent(pnl1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(pnl1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + ); + + pack(); + }// //GEN-END:initComponents + private void ClearTable(MyTableModel model) { + try { + for (Integer i = model.getRowCount() - 1; i >= 0; i--) { + model.deleteRow(i); + } + } catch (Exception e) { + } + } + private void Tastiera(JTextField jTxt,Integer MyX,Integer MyY){ + + MyKeyBoard myk=new MyKeyBoard(this,false); + myk.txt=jTxt; + myk.parent=this; + Rectangle s=this.getBounds(); + Rectangle s2=jTxt.getBounds(); + Integer l=s.x+s2.x+MyX; + if(l+800>s.x+s.width){l=s.x+s.width-800;} + myk.setBounds(l,s.y+s2.y+60+MyY, 800, 300); + myk.setVisible(true); + + } + private void formWindowClosed(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosed + try{ + frmPuntoCassa.setEnabled(true); + //KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(frmPuntoCassa.keyDispatcher); + frmPuntoCassa.addRemoveKeyDispatcher(true); + frmPuntoCassa.toFront(); + frmPuntoCassa.repaint(); + frmPuntoCassa=null; + this.dispose(); + }catch(Exception ex){} + }//GEN-LAST:event_formWindowClosed + + private void jbtnAggiungiActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbtnAggiungiActionPerformed + MyTableModel model = new MyTableModel(); + model = (MyTableModel) jTblProdotti.getModel(); + Long cod = 0L; + if (jTblProdotti.getSelectedRow() >= 0) { + cod = Long.parseLong(model.getValueAt(jTblProdotti.getSelectedRow(), 0).toString()); + Boolean presente = Boolean.parseBoolean(model.getValueAt(jTblProdotti.getSelectedRow(), 4).toString()); + if (presente == false) { + MyInsert("Insert into Catalogo_punti_cassa (id,id_prodotto,id_punto_cassa,flag_locale) values(-1," + cod + "," + frmPuntoCassa.idPuntoCassa + ",1)"); + frmPuntoCassa.caricaDati("PRODOTTI", "-1"); + this.dispose(); + } + + } + + }//GEN-LAST:event_jbtnAggiungiActionPerformed + private Boolean MyInsert(String Query) { + Boolean res=false; + try { + Connection dbConnection = DriverManager.getConnection(frmPuntoCassa.dbStringa, frmPuntoCassa.dbUsername, frmPuntoCassa.dbPassword); + Statement st = dbConnection.createStatement(); + ResultSet rs = st.executeQuery(Query); + rs.close(); + st.close(); + dbConnection.close(); + res=true; + } catch (SQLException e) { + JOptionPane.showMessageDialog(this, "Errore MySelect ['" + e.getMessage() + " " + Query + "']"); + + } + return res; + } + private void jtxtCodiceFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_jtxtCodiceFocusGained + Tastiera(evt); +// MyApplication MyA = new MyApplication(); +// if (MyA.TastieraVideo) { +// if (MyA.UltimoTxt.equalsIgnoreCase(evt.getComponent().toString())) { +// MyA.UltimoTxt = " "; +// } else { +// MyA.UltimoTxt = evt.getComponent().toString(); +// Tastiera((JTextField) evt.getComponent(), 0, 0); +// } +// } + }//GEN-LAST:event_jtxtCodiceFocusGained + + private void jBtnCercaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jBtnCercaActionPerformed +// if (jtxtProdotto.getText().trim().length()<=0){ +// JOptionPane.showMessageDialog(this, "Inserire la descrizione del prodotto!","Attenzione",JOptionPane.INFORMATION_MESSAGE); +// return; +// } + + Aggiorna(); + }//GEN-LAST:event_jBtnCercaActionPerformed + + private void jbtnAnnulla2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbtnAnnulla2ActionPerformed + // ClearTable((MyTableModel)jTblStudenti.getModel()); + +// frmPuntoCassa.setEnabled(true); +// frmPuntoCassa=null; + this.dispose(); + + }//GEN-LAST:event_jbtnAnnulla2ActionPerformed + + private void jtxtProdottoFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_jtxtProdottoFocusGained + Tastiera(evt); + }//GEN-LAST:event_jtxtProdottoFocusGained + + private void jbtnSuActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbtnSuActionPerformed + // TODO add your handling code here: + if(jTblProdotti.getSelectedRow()>0){ + jTblProdotti.setRowSelectionInterval(jTblProdotti.getSelectedRow()-1, jTblProdotti.getSelectedRow()-1); + jTblProdotti.scrollRectToVisible(new Rectangle(jTblProdotti.getCellRect(jTblProdotti.getSelectedRow(), 0, true))); + } + }//GEN-LAST:event_jbtnSuActionPerformed + + private void jbtnGiuActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbtnGiuActionPerformed + // TODO add your handling code here: + if(jTblProdotti.getSelectedRow()= 0) { + cod = Long.parseLong(model.getValueAt(jTblProdotti.getSelectedRow(), 0).toString()); + Boolean presente = Boolean.parseBoolean(model.getValueAt(jTblProdotti.getSelectedRow(), 4).toString()); + if (presente) { + MyInsert("Delete Catalogo_punti_cassa where id_prodotto=" + cod + " and id_punto_cassa=" + frmPuntoCassa.idPuntoCassa); + frmPuntoCassa.caricaDati("PRODOTTI", "-1"); + this.dispose(); + } + + } + }//GEN-LAST:event_jbtnEliminaActionPerformed + private void Tastiera(java.awt.event.MouseEvent evt) { + MyApplication MyA = new MyApplication(); + if (MyA.tastieraVideo) { + if (MyA.ultimoTxt.equalsIgnoreCase(evt.getComponent().toString())) { + MyA.ultimoTxt = " "; + } else { + MyA.ultimoTxt = evt.getComponent().toString(); + Tastiera((JTextField) evt.getComponent(), 0, 0); + } + } + } + //java.awt.event.FocusEvent + private void Tastiera(java.awt.event.FocusEvent evt) { + MyApplication MyA = new MyApplication(); + if (MyA.tastieraVideo) { + if (MyA.ultimoTxt.equalsIgnoreCase(evt.getComponent().toString())) { + MyA.ultimoTxt = " "; + } else { + MyA.ultimoTxt = evt.getComponent().toString(); + Tastiera((JTextField) evt.getComponent(), 0, 0); + } + } + } + private void QueryDati(String Query,String QueryCount,String[] Colonne,String[] ColType, JTable jTbl,Boolean Editable){ + try{ + MyApplication MyA=new MyApplication(); + MyTableModel model = new MyTableModel( ); + model.setColumname(Colonne); + +// model.setEditable(Editable); +// int [] colBool=new int[1]; +// colBool[0]=7; +// model.setColBoolean(colBool); +// int[] cols=new int[1]; +// cols[0]=7; +// model.setColModificabile(cols); + int rowCount=Integer.parseInt(Utils.mySelect(QueryCount, "righe", frmPuntoCassa)); + Object[][] data = RowData(Query, Colonne,ColType,rowCount); + model.setData(data); + + try{jTbl.setModel(model);}catch(Exception e){} + jTbl.setAutoCreateColumnsFromModel(true); + + jTbl.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + jTbl.getTableHeader().setFont(new Font("Tahoma", Font.BOLD, 16)); + jTbl.setFont(new Font("Tahoma", 0, 16)); + + + TableColumn column = jTbl.getColumn("id"); + column.setMinWidth(0); + column.setMaxWidth(0); + column.setWidth(0); + column.setPreferredWidth(0); + + TableColumn column1 = jTbl.getColumn("Prodotto"); + column1.setPreferredWidth(380); + column1.setWidth(380); +// TableColumn column2 = jTbl.getColumn("Codice"); +// column2.setPreferredWidth(20); + + model.fireTableDataChanged(); + + doLayout(); + }catch(NumberFormatException e){ + + System.out.println("Query: " + e.getMessage()); + } + + } + private void Aggiorna() { + try { + String From=" from prodotti p, categorie_prodotti c "; + String Where = " WHERE p.id_categoria = c.id "; + if (jtxtCodice.getText().trim().length() > 0) { + Where = Where + " and upper(p.codice) like '" + jtxtCodice.getText().trim().replace("'", "''").toUpperCase() + "%' "; + } + if (jtxtProdotto.getText().trim().length() > 0) { + Where = Where + " and upper(p.nome) like '%" + jtxtProdotto.getText().trim().replace("'", "''").toUpperCase() + "%' "; + } + + ComboItem c = new ComboItem(null, null); + c = (ComboItem) jCmbCat.getSelectedItem(); + + if (c.getKey() > 0) { + Where = Where + " and p.id_categoria = " + c.getKey(); + } + String[] Col = {"id","Categoria","Codice","Prodotto","Presente"}; + String[] ColType = {"long", "text","text","text","boolean"}; + String QueryCount="Select count(*) as righe " + From + Where; + QueryDati("select p.id,c.nome as categoria,p.codice, p.nome as prodotto, prodotto_in_catalogo (p.id, " + frmPuntoCassa.idPuntoCassa + ") as presente " + From + Where + " order by c.nome,p.nome", QueryCount, Col, ColType, jTblProdotti, false); + + //jTblStudenti.getColumn("Drawing").setPreferredWidth(200); + + + + //Font f=new Font("Tahoma",0,HFont); + Font f=new Font("Tahoma",0,20); + jTblProdotti.setFont(f); + jTblProdotti.setFont(f); + if(AltRigaGriglia==0){AltRigaGriglia=jTblProdotti.getRowHeight();} +// txtUsername.setSize(CalcolaLarghezzaAltezza(txtUsername.getWidth(),LargControlli), CalcolaLarghezzaAltezza(txtUsername.getHeight(),AltControlli)); + + //jTblProdotti.setRowHeight(CalcolaLarghezzaAltezza(AltRigaGriglia,AltControlli)); + jTblProdotti.setRowHeight(25); + //ClearTable((MyTableModel)jTblTessere.getModel()); + + if (jTblProdotti.getRowCount() > 0) { + jTblProdotti.setRowSelectionInterval(0, 0); + + } + ///AggiornaTessera(0); + + + } catch (Exception e) { + } + } + private Integer CalcolaLarghezzaAltezza(Integer LarControllo,Integer Percentuale){ + Integer D = Percentuale - 100; + if (D == 0) { + return LarControllo; + } else { + Integer N = LarControllo + ((LarControllo * D) / 100); + return N; + } + + } + public Object[][] RowData(String Query, String[] Cols, String[] ColType, int rowCount) { + Object[][] rows = null; + try { + Connection dbConnection = DriverManager.getConnection(frmPuntoCassa.dbStringa, frmPuntoCassa.dbUsername, frmPuntoCassa.dbPassword); + Statement st = dbConnection.createStatement(); + ResultSet rs = st.executeQuery(Query); + rows = new Object[rowCount][]; + int r = 0; + while (rs.next()) { + Object[] row = new Object[Cols.length]; + for (int i = 0; i < Cols.length; i++) { + if (rs.getString(Cols[i].replace(" ", "_")) == null) { + row[i] = ""; + } else { + row[i] = rs.getString(Cols[i].replace(" ", "_")); + } + switch (ColType[i]) { + case "text": + if (rs.getString(Cols[i].replace(" ", "_")) == null) { + row[i] = ""; + } else { + row[i] = rs.getString(Cols[i].replace(" ", "_")); + } + break; + case "integer": + if (rs.getString(Cols[i].replace(" ", "_")) == null) { + row[i] = 0; + } else { + row[i] = rs.getInt(Cols[i].replace(" ", "_")); + } + break; + case "boolean": + if (rs.getString(Cols[i].replace(" ", "_")) == null) { + row[i] = false; + } else { + row[i] = rs.getBoolean(Cols[i].replace(" ", "_")); + } + break; + case "float": + if (rs.getString(Cols[i].replace(" ", "_")) == null) { + row[i] = 0.00; + } else { + String v = rs.getString(Cols[i].replace(" ", "_")); + + row[i] = Float.parseFloat(v.replace(",", ".")); + } + + break; + + case "data": + row[i] = ""; + if (rs.getString(Cols[i].replace(" ", "_")) != null) { +// Date d = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss",Locale.ITALY).parse(rs.getString(Cols[i])); + //SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy"); + String[] d= rs.getString(Cols[i].replace(" ", "_")).split("-"); + if (d.length>=3){ + row[i] = d[2].trim().substring(0, 2) + "/" + d[1] + "/" + d[0]; + } + } + + break; + } + + } + rows[r] = row; + r++; + /*int id = rs.getInt("id"); + String name = rs.getString("name"); + int age = rs.getInt("age"); + String address = rs.getString("address"); + float salary = rs.getFloat("salary");*/ + + } + rs.close(); + st.close(); + dbConnection.close(); + + } catch (SQLException | NumberFormatException e) { + System.err.println(e.getClass().getName() + ": " + e.getMessage()); + } finally { + + return rows; + } + + } + /** + * @param args the command line arguments + */ + public static void main(String args[]) { + /* Set the Nimbus look and feel */ + // + /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. + * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html + */ + try { + for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { + if ("Nimbus".equals(info.getName())) { + javax.swing.UIManager.setLookAndFeel(info.getClassName()); + break; + } + } + } catch (ClassNotFoundException ex) { + java.util.logging.Logger.getLogger(FrmProdotti.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (InstantiationException ex) { + java.util.logging.Logger.getLogger(FrmProdotti.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (IllegalAccessException ex) { + java.util.logging.Logger.getLogger(FrmProdotti.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (javax.swing.UnsupportedLookAndFeelException ex) { + java.util.logging.Logger.getLogger(FrmProdotti.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } + // + // + + /* Create and display the form */ + java.awt.EventQueue.invokeLater(new Runnable() { + public void run() { + new FrmProdotti(null,null).setVisible(true); + } + }); + } + private void CaricaCombo (String Query, String itemValue, String itemId, JComboBox cmb) { + try { + Connection dbConnection = DriverManager.getConnection(frmPuntoCassa.dbStringa, frmPuntoCassa.dbUsername, frmPuntoCassa.dbPassword); + Connection c = dbConnection; + Statement stmt = null; + cmb.removeAllItems(); + stmt = c.createStatement(); + ResultSet rs = stmt.executeQuery(Query); + int r = 0; + while (rs.next()) { + + ComboItem row=new ComboItem(rs.getLong(itemId), rs.getString(itemValue)) ; + cmb.addItem(row); + + r++; + + } + rs.close(); + stmt.close(); + dbConnection.close(); + + } catch (SQLException e) { + System.err.println(e.getClass().getName() + ": " + e.getMessage()); + } + + } + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton jBtnCerca; + private javax.swing.JComboBox jCmbCat; + private javax.swing.JLabel jLblTitolo; + private javax.swing.JScrollPane jScrollPane3; + private javax.swing.JTable jTblProdotti; + private javax.swing.JButton jbtnAggiungi; + private javax.swing.JButton jbtnAnnulla2; + private javax.swing.JButton jbtnElimina; + private javax.swing.JButton jbtnGiu; + private javax.swing.JButton jbtnSu; + private javax.swing.JTextField jtxtCodice; + private javax.swing.JTextField jtxtProdotto; + private javax.swing.JLabel lblCognome; + private javax.swing.JLabel lblCognome1; + private javax.swing.JLabel lblCognome2; + private javax.swing.JPanel pnl1; + // End of variables declaration//GEN-END:variables +} diff --git a/src/puntocassa/FrmProgress.form b/src/puntocassa/FrmProgress.form new file mode 100644 index 0000000..47b28f4 --- /dev/null +++ b/src/puntocassa/FrmProgress.form @@ -0,0 +1,78 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/puntocassa/FrmProgress.java b/src/puntocassa/FrmProgress.java new file mode 100644 index 0000000..954d476 --- /dev/null +++ b/src/puntocassa/FrmProgress.java @@ -0,0 +1,143 @@ +/* + * 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 puntocassa; + +import java.io.File; +import javax.swing.ImageIcon; + +/** + * + * @author Marco + */ +public class FrmProgress extends javax.swing.JFrame { + + private PuntoCassa frmPuntoCassa; + + /** + * Creates new form frm + */ + public FrmProgress(PuntoCassa frm) { + frmPuntoCassa=frm; + initComponents(); + String startDir = System.getProperty("user.dir"); + File IconaApp = new File(startDir + "/risorse/logo.png"); + if (IconaApp.exists()) { + + ImageIcon icon = new ImageIcon(startDir + "/risorse/logo.png"); + this.setIconImage(icon.getImage()); + } + + } + + /** + * 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") + // //GEN-BEGIN:initComponents + private void initComponents() { + + pnl1 = new javax.swing.JPanel(); + jLabel1 = new javax.swing.JLabel(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle("Aggiorna database..."); + setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); + setResizable(false); + setType(java.awt.Window.Type.POPUP); + addWindowListener(new java.awt.event.WindowAdapter() { + public void windowClosed(java.awt.event.WindowEvent evt) { + formWindowClosed(evt); + } + }); + + jLabel1.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); + jLabel1.setText("Aggiornamento in corso..."); + jLabel1.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); + + javax.swing.GroupLayout pnl1Layout = new javax.swing.GroupLayout(pnl1); + pnl1.setLayout(pnl1Layout); + pnl1Layout.setHorizontalGroup( + pnl1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, 377, Short.MAX_VALUE) + ); + pnl1Layout.setVerticalGroup( + pnl1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, 104, 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(pnl1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addComponent(pnl1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, Short.MAX_VALUE)) + ); + + pack(); + }// //GEN-END:initComponents + private void formWindowClosed(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosed + try{ + frmPuntoCassa.setEnabled(true); + + frmPuntoCassa.toFront(); + frmPuntoCassa.repaint(); + + frmPuntoCassa=null; + this.dispose(); + }catch(Exception ex){} + }//GEN-LAST:event_formWindowClosed + + + /** + * @param args the command line arguments + */ + public static void main(String args[]) { + /* Set the Nimbus look and feel */ + // + /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. + * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html + */ + try { + for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { + if ("Nimbus".equals(info.getName())) { + javax.swing.UIManager.setLookAndFeel(info.getClassName()); + break; + } + } + } catch (ClassNotFoundException ex) { + java.util.logging.Logger.getLogger(FrmProgress.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (InstantiationException ex) { + java.util.logging.Logger.getLogger(FrmProgress.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (IllegalAccessException ex) { + java.util.logging.Logger.getLogger(FrmProgress.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (javax.swing.UnsupportedLookAndFeelException ex) { + java.util.logging.Logger.getLogger(FrmProgress.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } + // + // + + /* Create and display the form */ + java.awt.EventQueue.invokeLater(new Runnable() { + public void run() { + new FrmProgress(null).setVisible(true); + } + }); + } + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JLabel jLabel1; + private javax.swing.JPanel pnl1; + // End of variables declaration//GEN-END:variables +} diff --git a/src/puntocassa/FrmStorno.form b/src/puntocassa/FrmStorno.form new file mode 100644 index 0000000..388bff0 --- /dev/null +++ b/src/puntocassa/FrmStorno.form @@ -0,0 +1,167 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/puntocassa/FrmStorno.java b/src/puntocassa/FrmStorno.java new file mode 100644 index 0000000..28640eb --- /dev/null +++ b/src/puntocassa/FrmStorno.java @@ -0,0 +1,586 @@ +/* + * 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 puntocassa; + +import java.awt.Font; +import java.awt.Image; +import java.awt.Rectangle; +import java.io.File; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import javax.swing.ImageIcon; +import javax.swing.JOptionPane; +import javax.swing.JTable; +import javax.swing.JTextField; +import javax.swing.ListSelectionModel; +import javax.swing.table.TableColumn; +import puntocassa.utils.Utils; + +/** + * + * @author Marco + */ +public class FrmStorno extends javax.swing.JFrame { + + private PuntoCassa frmPuntoCassa; + private Long idTessera=0L,idPuntoCassa=0L; + public int HFont = 15; + private int AltControlli = 100; + private int LargControlli = 100; + private int AltRigaGriglia = 0; + private Boolean Azzera=false; + private Boolean StornoEffettuato=false; + + /** + * Creates new form frm + */ + public FrmStorno(PuntoCassa frm,Long IDTessera,Long IDPuntoCassa,String imgPath,Boolean azzera) { + + frmPuntoCassa=frm; + frmPuntoCassa.setEnabled(false); + //KeyboardFocusManager.getCurrentKeyboardFocusManager().removeKeyEventDispatcher(frmPuntoCassa.keyDispatcher); + frmPuntoCassa.addRemoveKeyDispatcher(false); + + idPuntoCassa=IDPuntoCassa; + idTessera=IDTessera; + Azzera=azzera; + initComponents(); + + String startDir = System.getProperty("user.dir"); + File IconaApp = new File(startDir + "/risorse/logo.png"); + if (IconaApp.exists()) { + + ImageIcon icon = new ImageIcon(startDir + "/risorse/logo.png"); + this.setIconImage(icon.getImage()); + } + + + ImageIcon icon = new ImageIcon(imgPath +"freccia_down.jpg"); + Image img = icon.getImage() ; + Image newimg = img.getScaledInstance(50,50,java.awt.Image.SCALE_SMOOTH ) ; + icon = new ImageIcon(newimg); + jbtnGiu.setIcon(icon); + + ImageIcon icon2 = new ImageIcon(imgPath +"freccia_up.jpg"); + Image img2 = icon2.getImage() ; + Image newimg2 = img2.getScaledInstance(50,50,java.awt.Image.SCALE_SMOOTH ) ; + icon2 = new ImageIcon(newimg2); + jbtnSu.setIcon(icon2); + Aggiorna(); + + } + + /** + * 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") + // //GEN-BEGIN:initComponents + private void initComponents() { + + pnl1 = new javax.swing.JPanel(); + jScrollPane3 = new javax.swing.JScrollPane(); + jTblStudenti = new javax.swing.JTable(); + jbtnAnnulla = new javax.swing.JButton(); + jLblTitolo = new javax.swing.JLabel(); + jBtnOK = new javax.swing.JButton(); + jbtnSu = new javax.swing.JButton(); + jbtnGiu = new javax.swing.JButton(); + + setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); + setTitle("Storno"); + addWindowListener(new java.awt.event.WindowAdapter() { + public void windowClosed(java.awt.event.WindowEvent evt) { + formWindowClosed(evt); + } + }); + + jTblStudenti.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N + jTblStudenti.setModel(new javax.swing.table.DefaultTableModel( + new Object [][] { + {}, + {}, + {}, + {} + }, + new String [] { + + } + )); + jScrollPane3.setViewportView(jTblStudenti); + + jbtnAnnulla.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N + jbtnAnnulla.setText("Annulla"); + jbtnAnnulla.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jbtnAnnullaActionPerformed(evt); + } + }); + + jLblTitolo.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N + jLblTitolo.setForeground(new java.awt.Color(255, 0, 0)); + jLblTitolo.setHorizontalAlignment(javax.swing.SwingConstants.LEFT); + jLblTitolo.setText("Storno"); + + jBtnOK.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N + jBtnOK.setText("Storna"); + jBtnOK.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jBtnOKActionPerformed(evt); + } + }); + + jbtnSu.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jbtnSuActionPerformed(evt); + } + }); + + jbtnGiu.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + jbtnGiuActionPerformed(evt); + } + }); + + javax.swing.GroupLayout pnl1Layout = new javax.swing.GroupLayout(pnl1); + pnl1.setLayout(pnl1Layout); + pnl1Layout.setHorizontalGroup( + pnl1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnl1Layout.createSequentialGroup() + .addComponent(jLblTitolo, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addGap(8, 8, 8)) + .addGroup(pnl1Layout.createSequentialGroup() + .addComponent(jScrollPane3, javax.swing.GroupLayout.DEFAULT_SIZE, 768, Short.MAX_VALUE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(pnl1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jbtnSu, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jbtnGiu, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE))) + .addGroup(pnl1Layout.createSequentialGroup() + .addComponent(jBtnOK, javax.swing.GroupLayout.PREFERRED_SIZE, 215, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(jbtnAnnulla, javax.swing.GroupLayout.PREFERRED_SIZE, 215, javax.swing.GroupLayout.PREFERRED_SIZE)) + ); + pnl1Layout.setVerticalGroup( + pnl1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnl1Layout.createSequentialGroup() + .addComponent(jLblTitolo, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(pnl1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(jScrollPane3, javax.swing.GroupLayout.DEFAULT_SIZE, 223, Short.MAX_VALUE) + .addGroup(pnl1Layout.createSequentialGroup() + .addComponent(jbtnSu, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(jbtnGiu, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE) + .addGap(0, 0, Short.MAX_VALUE))) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(pnl1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(jBtnOK, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE) + .addComponent(jbtnAnnulla, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) + ); + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 850, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() + .addGap(6, 6, 6) + .addComponent(pnl1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addContainerGap())) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGap(0, 307, Short.MAX_VALUE) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addComponent(pnl1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addContainerGap())) + ); + + pack(); + }// //GEN-END:initComponents + + private void jbtnAnnullaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbtnAnnullaActionPerformed +// ClearTable((MyTableModel)jTblStudenti.getModel()); + +// frmPuntoCassa.setEnabled(true); +// frmPuntoCassa=null; +// if (Azzera){ +// frmPuntoCassa.AzzeraDopoStorno(); +// } + this.dispose(); + + }//GEN-LAST:event_jbtnAnnullaActionPerformed + private void ClearTable(MyTableModel model) { + try { + for (Integer i = model.getRowCount() - 1; i >= 0; i--) { + model.deleteRow(i); + } + } catch (Exception e) { + } + } + private void Tastiera(JTextField jTxt,Integer MyX,Integer MyY){ + + MyKeyBoard myk=new MyKeyBoard(this,false); + myk.txt=jTxt; + myk.parent=this; + Rectangle s=this.getBounds(); + Rectangle s2=jTxt.getBounds(); + Integer l=s.x+s2.x+MyX; + if(l+800>s.x+s.width){l=s.x+s.width-800;} + myk.setBounds(l,s.y+s2.y+60+MyY, 800, 300); + myk.setVisible(true); + + } + private void formWindowClosed(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosed + try{ + + frmPuntoCassa.setEnabled(true); + //KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(frmPuntoCassa.keyDispatcher); + frmPuntoCassa.addRemoveKeyDispatcher(true); + frmPuntoCassa.toFront(); + frmPuntoCassa.repaint(); + if (Azzera && StornoEffettuato==false){ + frmPuntoCassa.azzeraDopoStorno(); + } + frmPuntoCassa=null; + + this.dispose(); + }catch(Exception ex){} + }//GEN-LAST:event_formWindowClosed + + private void jBtnOKActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jBtnOKActionPerformed + if (jTblStudenti.getSelectedRow() >= 0 ) { + MyTableModel model = new MyTableModel(); + model = (MyTableModel) jTblStudenti.getModel(); + Object[]row = model.getRow(jTblStudenti.getSelectedRow()); + // QueryDati("select a.id 0,a.data 1,a.num_progressivo as Progressivo 2,p.nome as Prodotto,a.importo 4,a.punti 5,a.saldo_pre,a.saldo_post,a.punti_pre,a.punti_post,p.id as idProdotto " + From + Where + " order by a.data,a.num_progressivo", QueryCount, Col, ColType, jTblStudenti, false); + + //Boolean Ok=MyInsert("insert into ristorni (ID_TESSERA,ID_PRODOTTO,ID_PUNTO_CASSA,DATA,NUM_PROGRESSIVO,IMPORTO,PUNTI,ID_TIPO_PAGAMENTO,ID_TURNO) " + + // "values (" + idTessera + "," + row[1] + "," + idPuntoCassa + ",to_date('" + row[2] + "','dd/mm/yyyy HH24:MI:SS')," + row[3] + ","+ row[5] + "," + row[6] + "," + row[7] + "," + row[8] + ")"); + Boolean Ok=MyInsert("insert into ristorni (ID_TESSERA,ID_PRODOTTO,ID_PUNTO_CASSA,DATA,NUM_PROGRESSIVO,IMPORTO,PUNTI,ID_TIPO_PAGAMENTO,ID_TURNO,FLAG_IN_VASSOIO,SALDO_PRE,SALDO_POST,PUNTI_PRE,PUNTI_POST,FLAG_GRATUITA,FLAG_ASPORTO,FLAG_BONUS) " + + "SELECT ID_TESSERA,ID_PRODOTTO,ID_PUNTO_CASSA,DATA,NUM_PROGRESSIVO,IMPORTO,PUNTI,ID_TIPO_PAGAMENTO,ID_TURNO,FLAG_IN_VASSOIO,SALDO_PRE,SALDO_POST,PUNTI_PRE,PUNTI_POST,FLAG_GRATUITA,FLAG_ASPORTO,FLAG_BONUS " + + "FROM st_acquisti WHERE num_progressivo = " + row[3]); + if(Ok){ + //MyInsert("Delete from St_Acquisti where id="+ row[0]); + MyInsert("Delete from St_Acquisti where num_progressivo="+ row[3]); + StornoEffettuato=true; + } + + + + if (Azzera){ +// frmPuntoCassa.AzzeraDopoStorno(); + }else + { + frmPuntoCassa.aggiornaProgressivi(); + } + //frmPuntoCassa.CercaTessera(); + this.dispose(); + } + + }//GEN-LAST:event_jBtnOKActionPerformed + + private void jbtnSuActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbtnSuActionPerformed + // TODO add your handling code here: + if(jTblStudenti.getSelectedRow()>0){ + jTblStudenti.setRowSelectionInterval(jTblStudenti.getSelectedRow()-1, jTblStudenti.getSelectedRow()-1); + jTblStudenti.scrollRectToVisible(new Rectangle(jTblStudenti.getCellRect(jTblStudenti.getSelectedRow(), 0, true))); + } + }//GEN-LAST:event_jbtnSuActionPerformed + + private void jbtnGiuActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbtnGiuActionPerformed + // TODO add your handling code here: + if(jTblStudenti.getSelectedRow()0) {Where=Where + " and UPPER(Nome) like '" + jtxtNome.getText().trim().toUpperCase().replace("'", "''") + "%'"; } +// if (jtxtCodFis.getText().trim().length()>0) {Where=Where + " and UPPER(Matricola) like '" + jtxtCodFis.getText().trim().toUpperCase().replace("'", "''") + "%'"; } + String[] Col = {"id", "idProdotto", "Data","Progressivo","Prodotto","Importo","id_Tipo_Pagamento","id_Turno","Pagamento"}; + String[] ColType = {"long", "long", "data","integer", "text", "float", "long", "long", "text"}; + String QueryCount="Select count(*) as righe " + From + Where; + QueryDati("select a.id,p.id as idProdotto,a.data,a.num_progressivo as Progressivo,p.nome as Prodotto,a.importo,a.id_tipo_pagamento,a.id_turno,tp.Nome as Pagamento " + From + Where + " order by a.data desc,a.num_progressivo desc", QueryCount, Col, ColType, jTblStudenti, false); + + //jTblStudenti.getColumn("Drawing").setPreferredWidth(200); + + + + Font f=new Font("Tahoma",0,18); + jTblStudenti.setFont(f); + if(AltRigaGriglia==0){AltRigaGriglia=jTblStudenti.getRowHeight();} +// txtUsername.setSize(CalcolaLarghezzaAltezza(txtUsername.getWidth(),LargControlli), CalcolaLarghezzaAltezza(txtUsername.getHeight(),AltControlli)); + + jTblStudenti.setRowHeight(25); + + + //ClearTable((MyTableModel)jTblTessere.getModel()); + + if (jTblStudenti.getRowCount() > 0) { + jTblStudenti.setRowSelectionInterval(0, 0); + + } + ///AggiornaTessera(0); + + + } catch (Exception e) { + } + } + private Integer CalcolaLarghezzaAltezza(Integer LarControllo,Integer Percentuale){ + Integer D = Percentuale - 100; + if (D == 0) { + return LarControllo; + } else { + Integer N = LarControllo + ((LarControllo * D) / 100); + return N; + } + + } + public Object[][] RowData(String Query, String[] Cols, String[] ColType, int rowCount) { + Object[][] rows = null; + try { + Connection dbConnection = DriverManager.getConnection(frmPuntoCassa.dbStringa, frmPuntoCassa.dbUsername, frmPuntoCassa.dbPassword); + Statement st = dbConnection.createStatement(); + ResultSet rs = st.executeQuery(Query); + rows = new Object[rowCount][]; + int r = 0; + while (rs.next()) { + Object[] row = new Object[Cols.length]; + for (int i = 0; i < Cols.length; i++) { + if (rs.getString(Cols[i].replace(" ", "_")) == null) { + row[i] = ""; + } else { + row[i] = rs.getString(Cols[i].replace(" ", "_")); + } + switch (ColType[i]) { + case "text": + if (rs.getString(Cols[i].replace(" ", "_")) == null) { + row[i] = ""; + } else { + row[i] = rs.getString(Cols[i].replace(" ", "_")); + } + break; + case "integer": + if (rs.getString(Cols[i].replace(" ", "_")) == null) { + row[i] = 0; + } else { + row[i] = rs.getInt(Cols[i].replace(" ", "_")); + } + break; + case "long": + if (rs.getString(Cols[i].replace(" ", "_")) == null) { + row[i] = 0; + } else { + row[i] = rs.getLong(Cols[i].replace(" ", "_")); + } + break; + case "boolean": + if (rs.getString(Cols[i].replace(" ", "_")) == null) { + row[i] = false; + } else { + row[i] = rs.getBoolean(Cols[i].replace(" ", "_")); + } + break; + case "float": + if (rs.getString(Cols[i].replace(" ", "_")) == null) { + row[i] = 0.00; + } else { + String v = rs.getString(Cols[i].replace(" ", "_")); + + row[i] = Float.parseFloat(v.replace(",", ".")); + } + + break; + + case "data": + row[i] = ""; + if (rs.getString(Cols[i].replace(" ", "_")) != null) { +// Date d = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss",Locale.ITALY).parse(rs.getString(Cols[i])); + //SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy"); + String[] d= rs.getString(Cols[i].replace(" ", "_")).split("-"); + if (d.length>=3){ + String Ora=""; + + if(d[2].length()>8){ + String O[]=d[2].trim().split(" "); + if(O.length>1){ + if(O[1].length()>=8){ + Ora=O[1].substring(0, 8); + } + } + } + row[i] = d[2].trim().substring(0, 2) + "/" + d[1] + "/" + d[0] + " " + Ora; + } + } + + break; + } + + } + rows[r] = row; + r++; + /*int id = rs.getInt("id"); + String name = rs.getString("name"); + int age = rs.getInt("age"); + String address = rs.getString("address"); + float salary = rs.getFloat("salary");*/ + + } + rs.close(); + st.close(); + dbConnection.close(); + + } catch (SQLException | NumberFormatException e) { + System.err.println(e.getClass().getName() + ": " + e.getMessage()); + } finally { + + return rows; + } + + } + /** + * @param args the command line arguments + */ + public static void main(String args[]) { + /* Set the Nimbus look and feel */ + // + /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. + * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html + */ + try { + for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { + if ("Nimbus".equals(info.getName())) { + javax.swing.UIManager.setLookAndFeel(info.getClassName()); + break; + } + } + } catch (ClassNotFoundException ex) { + java.util.logging.Logger.getLogger(FrmStorno.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (InstantiationException ex) { + java.util.logging.Logger.getLogger(FrmStorno.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (IllegalAccessException ex) { + java.util.logging.Logger.getLogger(FrmStorno.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (javax.swing.UnsupportedLookAndFeelException ex) { + java.util.logging.Logger.getLogger(FrmStorno.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } + // + // + + /* Create and display the form */ + java.awt.EventQueue.invokeLater(new Runnable() { + public void run() { + new FrmStorno(null,0L,0L,null,false).setVisible(true); + } + }); + } + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton jBtnOK; + private javax.swing.JLabel jLblTitolo; + private javax.swing.JScrollPane jScrollPane3; + private javax.swing.JTable jTblStudenti; + private javax.swing.JButton jbtnAnnulla; + private javax.swing.JButton jbtnGiu; + private javax.swing.JButton jbtnSu; + private javax.swing.JPanel pnl1; + // End of variables declaration//GEN-END:variables +}