refactoring-dipasquale-code #4
@ -184,7 +184,7 @@
|
||||
<EmptySpace min="-2" pref="48" max="-2" attributes="0"/>
|
||||
<Component id="jBtnReadCard" min="-2" pref="154" max="-2" attributes="0"/>
|
||||
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
||||
<Component id="jcmbSC" min="-2" pref="32" max="-2" attributes="0"/>
|
||||
<Component id="jcmbSmartCard" min="-2" pref="32" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
@ -195,7 +195,7 @@
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<Group type="103" groupAlignment="0" max="-2" attributes="0">
|
||||
<Component id="jcmbSC" min="-2" pref="3" max="-2" attributes="0"/>
|
||||
<Component id="jcmbSmartCard" min="-2" pref="3" max="-2" attributes="0"/>
|
||||
<Component id="jBtnReadCard" pref="0" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
@ -299,7 +299,7 @@
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jBtnReadCardActionPerformed"/>
|
||||
</Events>
|
||||
</Component>
|
||||
<Component class="javax.swing.JComboBox" name="jcmbSC">
|
||||
<Component class="javax.swing.JComboBox" name="jcmbSmartCard">
|
||||
<Properties>
|
||||
<Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
|
||||
<StringArray count="4">
|
||||
|
@ -44,13 +44,13 @@ import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import jssc.SerialPort;
|
||||
import jssc.SerialPortException;
|
||||
import org.apache.log4j.LogManager;
|
||||
import org.w3c.dom.DOMException;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
import org.w3c.dom.Node;
|
||||
import org.w3c.dom.NodeList;
|
||||
import puntocassa.utils.Utils;
|
||||
|
||||
|
||||
//******************************************************************************
|
||||
// *
|
||||
// * @author Master
|
||||
@ -146,7 +146,6 @@ public class PuntoCassa extends JFrame implements ActionListener {
|
||||
private int deltaWidth = 14;
|
||||
private int deltaHeight = 7;
|
||||
|
||||
|
||||
// ==========================================================================
|
||||
// *** Constructor della classe PuntoCassa
|
||||
// ==========================================================================
|
||||
@ -161,6 +160,7 @@ public class PuntoCassa extends JFrame implements ActionListener {
|
||||
// *** Legge la configurazione dal file XML
|
||||
// -----------------------------------------------------------------------
|
||||
try {
|
||||
MyApplication myApp = new MyApplication();
|
||||
DocumentBuilderFactory documentFactory = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder builder = documentFactory.newDocumentBuilder();
|
||||
String startDir = System.getProperty("user.dir");
|
||||
@ -172,71 +172,17 @@ public class PuntoCassa extends JFrame implements ActionListener {
|
||||
ImageIcon icon = new ImageIcon(startDir + "/risorse/logo.png");
|
||||
this.setIconImage(icon.getImage());
|
||||
}
|
||||
// --------------------------------------------------------------------
|
||||
// ** Accesso al database
|
||||
// --------------------------------------------------------------------
|
||||
NodeList database = document.getElementsByTagName("database");
|
||||
for (int i = 0; i < database.getLength(); i++) {
|
||||
Node nodo = database.item(i);
|
||||
|
||||
if (nodo.getNodeType() == Node.ELEMENT_NODE) {
|
||||
Element db = (Element) nodo;
|
||||
String attivo = db.getElementsByTagName("attivo").item(0).getFirstChild().getNodeValue();
|
||||
String tipo = db.getElementsByTagName("tipo").item(0).getFirstChild().getNodeValue();
|
||||
String driver = db.getElementsByTagName("driver").item(0).getFirstChild().getNodeValue();
|
||||
String server = db.getElementsByTagName("server").item(0).getFirstChild().getNodeValue();
|
||||
String porta = db.getElementsByTagName("porta").item(0).getFirstChild().getNodeValue();
|
||||
String istanza = db.getElementsByTagName("istanza").item(0).getFirstChild().getNodeValue();
|
||||
String username = db.getElementsByTagName("username").item(0).getFirstChild().getNodeValue();
|
||||
String password = db.getElementsByTagName("password").item(0).getFirstChild().getNodeValue();
|
||||
leggiNodoDatabase(document);
|
||||
|
||||
if (attivo.equals("SI")) {
|
||||
//Encoding en = new Encoding();
|
||||
dbUsername = username;
|
||||
dbPassword = Encoding.decodeString(password);
|
||||
dbTipo = tipo;
|
||||
dbDriver = driver;
|
||||
if (tipo.equals("MySQL")) {
|
||||
dbStringa = "jdbc:mysql://" + server + ":" + porta + "/" + istanza;
|
||||
} else if (tipo.equals("Oracle")) {
|
||||
dbStringa = "jdbc:oracle:thin:@" + server + ":" + porta + ":" + istanza;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
NodeList paths = leggiNodoPath(document, startDir);
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
// ** Path
|
||||
// --------------------------------------------------------------------
|
||||
NodeList paths = document.getElementsByTagName("path");
|
||||
for (int i = 0; i < paths.getLength(); i++) {
|
||||
Node path = paths.item(i);
|
||||
if (path.getNodeType() == Node.ELEMENT_NODE) {
|
||||
Element p = (Element) path;
|
||||
imgPath = p.getElementsByTagName("img_path").item(0).getFirstChild().getNodeValue();
|
||||
if (imgPath.equalsIgnoreCase("..\\risorse\\")) {
|
||||
imgPath = startDir + "/risorse/";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
// ** Etichette
|
||||
// --------------------------------------------------------------------
|
||||
NodeList etichette = document.getElementsByTagName("etichette");
|
||||
//String titolo = "";
|
||||
MyApplication myApp = new MyApplication();
|
||||
for (int i = 0; i < paths.getLength(); i++) {
|
||||
Node etichetta = etichette.item(i);
|
||||
if (etichetta.getNodeType() == Node.ELEMENT_NODE) {
|
||||
Element p = (Element) etichetta;
|
||||
String titolo = p.getElementsByTagName("titolo").item(0).getFirstChild().getNodeValue();
|
||||
//idPuntoCassa = Long.valueOf(myApp.mySelect(this, "SELECT valore FROM parametri WHERE chiave = 'IdPuntoCassa'", "valore"));
|
||||
idPuntoCassa = Long.valueOf(Utils.mySelect("SELECT valore FROM parametri WHERE chiave = 'IdPuntoCassa'",
|
||||
"valore",
|
||||
this));
|
||||
|
||||
//String credito = myApp.mySelect(this, "SELECT valore FROM parametri WHERE chiave = 'FlagIgnoraSaldoStop'", "valore");
|
||||
leggiNodoEtichette(document, paths, idPuntoCassa);
|
||||
|
||||
String credito = Utils.mySelect("SELECT valore FROM parametri WHERE chiave = 'FlagIgnoraSaldoStop'",
|
||||
"valore",
|
||||
this);
|
||||
@ -244,10 +190,7 @@ public class PuntoCassa extends JFrame implements ActionListener {
|
||||
consentiCredito = true;
|
||||
}
|
||||
|
||||
titolo = titolo + " " + idPuntoCassa;
|
||||
this.setTitle(titolo);
|
||||
//Aggiornamento 14-01-2019
|
||||
//String stringDatiPagamento = myApp.mySelect(this, "select tp.id || '|' || tp.nome || '|' || pd.flag_bonus || '|' || "
|
||||
String stringDatiPagamento = Utils.mySelect("select tp.id || '|' || tp.nome || '|' || pd.flag_bonus || '|' || "
|
||||
+ "pd.flag_extra as valore from punti_cassa pc "
|
||||
+ "inner join punti_distribuzione pd on pc.id_punto_distribuzione = pd.id "
|
||||
@ -269,69 +212,26 @@ public class PuntoCassa extends JFrame implements ActionListener {
|
||||
}
|
||||
pulsantiModoPagamento();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
// ** display
|
||||
// --------------------------------------------------------------------
|
||||
NodeList disp = document.getElementsByTagName("display");
|
||||
for (int i = 0; i < disp.getLength(); i++) {
|
||||
Node display = disp.item(i);
|
||||
if (display.getNodeType() == Node.ELEMENT_NODE) {
|
||||
Element p = (Element) display;
|
||||
displayWidth = Integer.parseInt(p.getElementsByTagName("larghezza").item(0).getFirstChild().getNodeValue());
|
||||
displayHeight = Integer.parseInt(p.getElementsByTagName("altezza").item(0).getFirstChild().getNodeValue());
|
||||
altezzaBarraApplicazioni = Integer.parseInt(p.getElementsByTagName("altBarraApplicazioni").item(0).getFirstChild().getNodeValue());
|
||||
hFont = Integer.parseInt(p.getElementsByTagName("fontSize").item(0).getFirstChild().getNodeValue());
|
||||
altControlli = Integer.parseInt(p.getElementsByTagName("altezzaControlli").item(0).getFirstChild().getNodeValue());
|
||||
largControlli = Integer.parseInt(p.getElementsByTagName("larghezzaControlli").item(0).getFirstChild().getNodeValue());
|
||||
String tastiera = p.getElementsByTagName("TastieraVideo").item(0).getFirstChild().getNodeValue();
|
||||
myApp.tastieraVideo = !tastiera.equals("NO");
|
||||
|
||||
}
|
||||
}
|
||||
leggiNodoDisplay(document, myApp);
|
||||
|
||||
//adatto panel login
|
||||
Font f = new Font("Tahoma", 0, hFont);
|
||||
UIManager.put("OptionPane.messageFont",
|
||||
new FontUIResource(new Font("Tahoma", Font.BOLD, hFont))
|
||||
);
|
||||
UIManager.put("OptionPane.buttonFont", new FontUIResource(new Font("Tahoma", Font.BOLD, 25)));
|
||||
btnLogin.setFont(f);
|
||||
pnlLogin.setSize(calcolaLarghezzaAltezza(pnlLogin.getWidth(), largControlli), calcolaLarghezzaAltezza(pnlLogin.getHeight(), altControlli));
|
||||
lblPassword.setFont(f);
|
||||
lblUsername.setFont(f);
|
||||
txtUsername.setFont(f);
|
||||
txtPassword.setFont(f);
|
||||
jTxtTessera.setFont(f);
|
||||
jChLogin.setFont(f);
|
||||
jBtnReadCard.setVisible(false);
|
||||
|
||||
Font newFontBtnAnnulla = new Font(jbtnAnnulla.getFont().getName(), jbtnAnnulla.getFont().getStyle(), hFont);
|
||||
jbtnAnnulla.setFont(newFontBtnAnnulla);
|
||||
Font newFontBtnDuplica = new Font(jbtnDuplica.getFont().getName(), jbtnDuplica.getFont().getStyle(), hFont);
|
||||
jbtnDuplica.setFont(newFontBtnDuplica);
|
||||
Font newFontBtnElimina = new Font(jbtnElimina.getFont().getName(), jbtnElimina.getFont().getStyle(), hFont);
|
||||
jbtnElimina.setFont(newFontBtnElimina);
|
||||
Font newFontBtnChiudi = new Font(jbtnChiudi.getFont().getName(), jbtnChiudi.getFont().getStyle(), hFont);
|
||||
jbtnChiudi.setFont(newFontBtnChiudi);
|
||||
Font newFontTxtTotaleCassa = new Font(txtTotaleCassa.getFont().getName(), txtTotaleCassa.getFont().getStyle(), (hFont + (hFont / 10 * 3)));
|
||||
txtTotaleCassa.setFont(newFontTxtTotaleCassa);
|
||||
Font newFontTxtTotalePunti = new Font(txtTotalePunti.getFont().getName(), txtTotalePunti.getFont().getStyle(), (hFont + (hFont / 10 * 3)));
|
||||
txtTotalePunti.setFont(newFontTxtTotalePunti);
|
||||
// --------------------------------------------------------------------
|
||||
// ** ID_PUNTO_CASSA
|
||||
// --------------------------------------------------------------------
|
||||
jcmbSC.setVisible(false);
|
||||
settingFontsInterfaccia();
|
||||
|
||||
String VMD = document.getElementsByTagName("Visualizza_Messaggi_Display").item(0).getFirstChild().getNodeValue();
|
||||
visualizzaMessaggiDisplay = VMD.equalsIgnoreCase("SI");
|
||||
|
||||
jcmbSmartCard.setVisible(false);
|
||||
|
||||
visualizzaMessaggiDisplay = document.getElementsByTagName("Visualizza_Messaggi_Display").item(0).getFirstChild().getNodeValue()
|
||||
.equalsIgnoreCase("SI");
|
||||
//visualizzaMessaggiDisplay = VMD.equalsIgnoreCase("SI");
|
||||
messageDisplay = document.getElementsByTagName("Messaggio_Display").item(0).getFirstChild().getNodeValue();
|
||||
|
||||
updateReaderCombo();
|
||||
aggiornaSmartCardReaderCombo(myApp);
|
||||
|
||||
|
||||
//String ultimiMovimenti = myApp.mySelect(this, "SELECT valore FROM parametri WHERE chiave = 'FlagVisualizzaUltimiPassaggi'", "valore");
|
||||
String ultimiMovimenti = Utils.mySelect("SELECT valore FROM parametri WHERE chiave = 'FlagVisualizzaUltimiPassaggi'",
|
||||
"valore",
|
||||
this);
|
||||
@ -392,6 +292,156 @@ public class PuntoCassa extends JFrame implements ActionListener {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Definizione e settaggio dei fonts sull'interfaccia grafica
|
||||
*/
|
||||
private void settingFontsInterfaccia() {
|
||||
Font f = new Font("Tahoma", 0, hFont);
|
||||
UIManager.put("OptionPane.messageFont",
|
||||
new FontUIResource(new Font("Tahoma", Font.BOLD, hFont))
|
||||
);
|
||||
UIManager.put("OptionPane.buttonFont", new FontUIResource(new Font("Tahoma", Font.BOLD, 25)));
|
||||
btnLogin.setFont(f);
|
||||
lblPassword.setFont(f);
|
||||
lblUsername.setFont(f);
|
||||
txtUsername.setFont(f);
|
||||
txtPassword.setFont(f);
|
||||
jTxtTessera.setFont(f);
|
||||
jChLogin.setFont(f);
|
||||
|
||||
|
||||
Font newFontBtnAnnulla = new Font(jbtnAnnulla.getFont().getName(), jbtnAnnulla.getFont().getStyle(), hFont);
|
||||
jbtnAnnulla.setFont(newFontBtnAnnulla);
|
||||
Font newFontBtnDuplica = new Font(jbtnDuplica.getFont().getName(), jbtnDuplica.getFont().getStyle(), hFont);
|
||||
jbtnDuplica.setFont(newFontBtnDuplica);
|
||||
Font newFontBtnElimina = new Font(jbtnElimina.getFont().getName(), jbtnElimina.getFont().getStyle(), hFont);
|
||||
jbtnElimina.setFont(newFontBtnElimina);
|
||||
Font newFontBtnChiudi = new Font(jbtnChiudi.getFont().getName(), jbtnChiudi.getFont().getStyle(), hFont);
|
||||
jbtnChiudi.setFont(newFontBtnChiudi);
|
||||
Font newFontTxtTotaleCassa = new Font(txtTotaleCassa.getFont().getName(), txtTotaleCassa.getFont().getStyle(), (hFont + (hFont / 10 * 3)));
|
||||
txtTotaleCassa.setFont(newFontTxtTotaleCassa);
|
||||
Font newFontTxtTotalePunti = new Font(txtTotalePunti.getFont().getName(), txtTotalePunti.getFont().getStyle(), (hFont + (hFont / 10 * 3)));
|
||||
txtTotalePunti.setFont(newFontTxtTotalePunti);
|
||||
}
|
||||
|
||||
/**
|
||||
* Lettura del nodo 'display' del file di configurazione
|
||||
* @param document
|
||||
* @param myApp
|
||||
* @throws NumberFormatException
|
||||
* @throws DOMException
|
||||
*/
|
||||
private void leggiNodoDisplay(Document document, MyApplication myApp) throws NumberFormatException, DOMException {
|
||||
// --------------------------------------------------------------------
|
||||
// ** display
|
||||
// --------------------------------------------------------------------
|
||||
NodeList disp = document.getElementsByTagName("display");
|
||||
for (int i = 0; i < disp.getLength(); i++) {
|
||||
Node display = disp.item(i);
|
||||
if (display.getNodeType() == Node.ELEMENT_NODE) {
|
||||
Element p = (Element) display;
|
||||
displayWidth = Integer.parseInt(p.getElementsByTagName("larghezza").item(0).getFirstChild().getNodeValue());
|
||||
displayHeight = Integer.parseInt(p.getElementsByTagName("altezza").item(0).getFirstChild().getNodeValue());
|
||||
altezzaBarraApplicazioni = Integer.parseInt(p.getElementsByTagName("altBarraApplicazioni").item(0).getFirstChild().getNodeValue());
|
||||
hFont = Integer.parseInt(p.getElementsByTagName("fontSize").item(0).getFirstChild().getNodeValue());
|
||||
altControlli = Integer.parseInt(p.getElementsByTagName("altezzaControlli").item(0).getFirstChild().getNodeValue());
|
||||
largControlli = Integer.parseInt(p.getElementsByTagName("larghezzaControlli").item(0).getFirstChild().getNodeValue());
|
||||
String tastiera = p.getElementsByTagName("TastieraVideo").item(0).getFirstChild().getNodeValue();
|
||||
myApp.tastieraVideo = !tastiera.equals("NO");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Lettura del noto 'etichette' del file di configurazione
|
||||
*
|
||||
* @param document
|
||||
* @param paths
|
||||
* @throws DOMException
|
||||
* @throws NumberFormatException
|
||||
*/
|
||||
private void leggiNodoEtichette(Document document, NodeList paths, Long idPuntoCassa) throws DOMException, NumberFormatException {
|
||||
NodeList etichette = document.getElementsByTagName("etichette");
|
||||
for (int i = 0; i < paths.getLength(); i++) {
|
||||
Node etichetta = etichette.item(i);
|
||||
if (etichetta.getNodeType() == Node.ELEMENT_NODE) {
|
||||
Element p = (Element) etichetta;
|
||||
String titolo = p.getElementsByTagName("titolo").item(0).getFirstChild().getNodeValue();
|
||||
|
||||
titolo = titolo + " " + idPuntoCassa;
|
||||
this.setTitle(titolo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Lettura del nodo 'path' del file di configurazione
|
||||
*
|
||||
* @param document
|
||||
* @param startDir
|
||||
* @return
|
||||
* @throws DOMException
|
||||
*/
|
||||
private NodeList leggiNodoPath(Document document, String startDir) throws DOMException {
|
||||
NodeList paths = document.getElementsByTagName("path");
|
||||
for (int i = 0; i < paths.getLength(); i++) {
|
||||
Node path = paths.item(i);
|
||||
if (path.getNodeType() == Node.ELEMENT_NODE) {
|
||||
Element p = (Element) path;
|
||||
imgPath = p.getElementsByTagName("img_path").item(0).getFirstChild().getNodeValue();
|
||||
if (imgPath.equalsIgnoreCase("..\\risorse\\")) {
|
||||
imgPath = startDir + "/risorse/";
|
||||
}
|
||||
}
|
||||
}
|
||||
return paths;
|
||||
}
|
||||
|
||||
/**
|
||||
* Lettura del nodo 'database' del file di configurazione
|
||||
*
|
||||
* @param document
|
||||
* @throws DOMException
|
||||
*/
|
||||
private void leggiNodoDatabase(Document document) throws DOMException {
|
||||
NodeList database = document.getElementsByTagName("database");
|
||||
for (int i = 0; i < database.getLength(); i++) {
|
||||
Node nodo = database.item(i);
|
||||
|
||||
if (nodo.getNodeType() == Node.ELEMENT_NODE) {
|
||||
Element db = (Element) nodo;
|
||||
String attivo = db.getElementsByTagName("attivo").item(0).getFirstChild().getNodeValue();
|
||||
|
||||
if (attivo.equals("SI")) {
|
||||
dbTipo = db.getElementsByTagName("tipo").item(0).getFirstChild().getNodeValue();
|
||||
dbDriver = db.getElementsByTagName("driver").item(0).getFirstChild().getNodeValue();
|
||||
String server = db.getElementsByTagName("server").item(0).getFirstChild().getNodeValue();
|
||||
String porta = db.getElementsByTagName("porta").item(0).getFirstChild().getNodeValue();
|
||||
String istanza = db.getElementsByTagName("istanza").item(0).getFirstChild().getNodeValue();
|
||||
dbUsername = db.getElementsByTagName("username").item(0).getFirstChild().getNodeValue();
|
||||
dbPassword = Encoding.decodeString(db.getElementsByTagName("password").item(0).getFirstChild().getNodeValue());
|
||||
|
||||
//dbUsername = username;
|
||||
//dbPassword = Encoding.decodeString(password);
|
||||
//dbTipo = tipo;
|
||||
//dbDriver = driver;
|
||||
switch (dbTipo) {
|
||||
case "MySQL" ->
|
||||
dbStringa = "jdbc:mysql://" + server + ":" + porta + "/" + istanza;
|
||||
case "Oracle" ->
|
||||
dbStringa = "jdbc:oracle:thin:@" + server + ":" + porta + ":" + istanza;
|
||||
}
|
||||
/*if (dbTipo.equals("MySQL")) {
|
||||
dbStringa = "jdbc:mysql://" + server + ":" + porta + "/" + istanza;
|
||||
} else if (dbTipo.equals("Oracle")) {
|
||||
dbStringa = "jdbc:oracle:thin:@" + server + ":" + porta + ":" + istanza;
|
||||
}*/
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public KeyEventDispatcher creaKeyEventDispatcher() {
|
||||
return new KeyEventDispatcher() {
|
||||
Boolean swip = false;
|
||||
@ -567,13 +617,13 @@ public class PuntoCassa extends JFrame implements ActionListener {
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
||||
/***
|
||||
* FlagProponiAggiornamentoDB ha 3 possibili valori:
|
||||
* AUTO vuol dire che, se il db locale è da aggiornare (DB_locale_aggiornato = 0), lo deve fare e basta senza chiedere conferma
|
||||
* SI vuol dire che, se il db locale è da aggiornare (DB_locale_aggiornato = 0), lo deve fare chiedendo conferma
|
||||
* NO vuol dire che non lo deve fare nemmeno se è da aggiornare
|
||||
/**
|
||||
* *
|
||||
* FlagProponiAggiornamentoDB ha 3 possibili valori: AUTO vuol dire che, se
|
||||
* il db locale è da aggiornare (DB_locale_aggiornato = 0), lo deve fare e
|
||||
* basta senza chiedere conferma SI vuol dire che, se il db locale è da
|
||||
* aggiornare (DB_locale_aggiornato = 0), lo deve fare chiedendo conferma NO
|
||||
* vuol dire che non lo deve fare nemmeno se è da aggiornare
|
||||
*/
|
||||
private void verificaAggiornamentoDB() {
|
||||
Long dbAggiornato = Utils.mySelectInteger("Select DB_locale_aggiornato as Agg from dual", "Agg",
|
||||
@ -583,8 +633,7 @@ public class PuntoCassa extends JFrame implements ActionListener {
|
||||
if (dbAggiornato == 0) {
|
||||
if (flagProponiAggiornamentoDB.equals("SI")) {
|
||||
aggiornaDB(true);
|
||||
}
|
||||
else if(flagProponiAggiornamentoDB.equals("AUTO")){
|
||||
} else if (flagProponiAggiornamentoDB.equals("AUTO")) {
|
||||
aggiornaDB(false);
|
||||
}
|
||||
}
|
||||
@ -645,17 +694,20 @@ public class PuntoCassa extends JFrame implements ActionListener {
|
||||
}
|
||||
}
|
||||
|
||||
private void updateReaderCombo() {
|
||||
/**
|
||||
* Aggiorna la lista di lettori smartcard disponibili
|
||||
* @param myApp
|
||||
*/
|
||||
private void aggiornaSmartCardReaderCombo(MyApplication myApp) {
|
||||
try {
|
||||
MyApplication myApp = new MyApplication();
|
||||
jcmbSC.setModel(new DefaultComboBoxModel(myApp.smartCard.listReaders()));
|
||||
//MyApplication myApp = new MyApplication();
|
||||
jcmbSmartCard.setModel(new DefaultComboBoxModel(myApp.smartCard.listReaders()));
|
||||
|
||||
} catch (Exception ex) {
|
||||
LogManager.getLogger(PuntoCassa.class.getName()).error(ex);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private Integer calcolaLarghezzaAltezza(Integer larControllo, Integer percentuale) {
|
||||
Integer d = percentuale - 100;
|
||||
if (d == 0) {
|
||||
@ -687,7 +739,7 @@ public class PuntoCassa extends JFrame implements ActionListener {
|
||||
jTxtTessera = new javax.swing.JTextField();
|
||||
btnImpostaCliente = new javax.swing.JButton();
|
||||
jBtnReadCard = new javax.swing.JButton();
|
||||
jcmbSC = new javax.swing.JComboBox();
|
||||
jcmbSmartCard = new javax.swing.JComboBox();
|
||||
lblCodice3 = new javax.swing.JLabel();
|
||||
lblTipoPagamento = new javax.swing.JLabel();
|
||||
lblCodice4 = new javax.swing.JLabel();
|
||||
@ -833,7 +885,7 @@ public class PuntoCassa extends JFrame implements ActionListener {
|
||||
}
|
||||
});
|
||||
|
||||
jcmbSC.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
|
||||
jcmbSmartCard.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
|
||||
|
||||
lblCodice3.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
|
||||
lblCodice3.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
|
||||
@ -889,14 +941,14 @@ public class PuntoCassa extends JFrame implements ActionListener {
|
||||
.addGap(48, 48, 48)
|
||||
.addComponent(jBtnReadCard, javax.swing.GroupLayout.PREFERRED_SIZE, 154, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||
.addComponent(jcmbSC, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)))
|
||||
.addComponent(jcmbSmartCard, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE)))
|
||||
.addContainerGap())
|
||||
);
|
||||
subPnlTesseraLayout.setVerticalGroup(
|
||||
subPnlTesseraLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGroup(subPnlTesseraLayout.createSequentialGroup()
|
||||
.addGroup(subPnlTesseraLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
|
||||
.addComponent(jcmbSC, javax.swing.GroupLayout.PREFERRED_SIZE, 3, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(jcmbSmartCard, javax.swing.GroupLayout.PREFERRED_SIZE, 3, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
.addComponent(jBtnReadCard, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE))
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(jTxtTessera, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||
@ -1755,7 +1807,8 @@ public class PuntoCassa extends JFrame implements ActionListener {
|
||||
tipo = cmd.substring(0, i);
|
||||
|
||||
switch (tipo) {
|
||||
case "CATEGORIA" -> pulsantiCategoria(id, cmd);
|
||||
case "CATEGORIA" ->
|
||||
pulsantiCategoria(id, cmd);
|
||||
|
||||
case "PRODOTTO" -> {
|
||||
if (isCassaAperta) {
|
||||
@ -1917,8 +1970,9 @@ public class PuntoCassa extends JFrame implements ActionListener {
|
||||
}
|
||||
|
||||
/**
|
||||
* funzione che calcola i prezzi dei prodotti e il totale in base alla fascia dello studente
|
||||
* oppure utilizza la fascia di default
|
||||
* funzione che calcola i prezzi dei prodotti e il totale in base alla
|
||||
* fascia dello studente oppure utilizza la fascia di default
|
||||
*
|
||||
* @param model
|
||||
*/
|
||||
private void sommaColonne(MyTableModel model) {
|
||||
@ -2192,11 +2246,11 @@ public class PuntoCassa extends JFrame implements ActionListener {
|
||||
//JPanel pnl = this.pnlProdotti;
|
||||
var listaBottoni = new ArrayList<JToggleButton>();
|
||||
|
||||
|
||||
for (Integer r = 0; r < 6; r++) {
|
||||
Color c2 = new Color(255, 153, 255);
|
||||
switch (r) {
|
||||
case 0 -> where = " and upper(cat.CODICE)='PRIM' ";
|
||||
case 0 ->
|
||||
where = " and upper(cat.CODICE)='PRIM' ";
|
||||
case 1 -> {
|
||||
where = " and upper(cat.CODICE)='SECO' ";
|
||||
c2 = Color.CYAN;
|
||||
@ -2646,12 +2700,12 @@ public class PuntoCassa extends JFrame implements ActionListener {
|
||||
|
||||
lblInfo.setText("Passaggi: Tot. [" + prog + "], giorno [" + progGG + "], turno [" + progTurno + "]");
|
||||
DecimalFormat df2 = new DecimalFormat("#,###,###,##0.00");
|
||||
lblInfo2.setText("Incassi [" + nomeTurno + "]: Tot. [" +
|
||||
df2.format(progressivoScalare + progressivoContanti + progressivoTicket + progressivoDifferito) + "] SC [" +
|
||||
df2.format(progressivoScalare) + "], CO [" +
|
||||
df2.format(progressivoContanti) + "], TI [" +
|
||||
df2.format(progressivoTicket) + "], DI [" +
|
||||
df2.format(progressivoDifferito) + "]");
|
||||
lblInfo2.setText("Incassi [" + nomeTurno + "]: Tot. ["
|
||||
+ df2.format(progressivoScalare + progressivoContanti + progressivoTicket + progressivoDifferito) + "] SC ["
|
||||
+ df2.format(progressivoScalare) + "], CO ["
|
||||
+ df2.format(progressivoContanti) + "], TI ["
|
||||
+ df2.format(progressivoTicket) + "], DI ["
|
||||
+ df2.format(progressivoDifferito) + "]");
|
||||
}
|
||||
|
||||
public void addRemoveKeyDispatcher(Boolean aggiungi) {
|
||||
@ -3207,7 +3261,6 @@ public class PuntoCassa extends JFrame implements ActionListener {
|
||||
|
||||
//pwd = new String();
|
||||
//sql = new String();
|
||||
|
||||
// =======================================================================
|
||||
// *** Verifica la correttezza delle credenziali inserite - Account
|
||||
// =======================================================================
|
||||
@ -3468,12 +3521,10 @@ public class PuntoCassa extends JFrame implements ActionListener {
|
||||
return testo;
|
||||
}
|
||||
|
||||
/***
|
||||
* Metodo che gestisce la pressione dei bottoni relativi alle modalita di pagamento
|
||||
* 0 -> a scalare
|
||||
* 1 -> contanti
|
||||
* 2 -> ticket
|
||||
* 3 -> differito
|
||||
/**
|
||||
* *
|
||||
* Metodo che gestisce la pressione dei bottoni relativi alle modalita di
|
||||
* pagamento 0 -> a scalare 1 -> contanti 2 -> ticket 3 -> differito
|
||||
*/
|
||||
private void pulsantiModoPagamento() {
|
||||
switch (Integer.parseInt(idModoPagamento.toString())) {
|
||||
@ -3683,11 +3734,11 @@ public class PuntoCassa extends JFrame implements ActionListener {
|
||||
Utils.myInsert("Insert into Acquisti "
|
||||
+ "(id,id_Tessera,id_Prodotto,id_Punto_Cassa,Data,Importo,Punti,Num_Progressivo,id_Tipo_Pagamento,"
|
||||
+ "id_Turno,flag_gratuita,flag_bonus,flag_asporto,flag_passaggio_tessera)"
|
||||
+ "values(-1," + tessera + "," + model2.getValueAt(i, 2) + "," + idPuntoCassa + "," +
|
||||
//formattaDataOra(adesso) + "," + model2.getValueAt(i, 1) + ",0," + progressivo + "," +
|
||||
formatLocalDateTime(adesso) + "," + model2.getValueAt(i, 1) + ",0," + progressivo + "," +
|
||||
idModoPagamento + "," + idTurno + "," + flagGratuita + "," + flagBonus + "," +
|
||||
flagAsporto + "," + flagPassaggioTessera + ")",
|
||||
+ "values(-1," + tessera + "," + model2.getValueAt(i, 2) + "," + idPuntoCassa + ","
|
||||
+ //formattaDataOra(adesso) + "," + model2.getValueAt(i, 1) + ",0," + progressivo + "," +
|
||||
formatLocalDateTime(adesso) + "," + model2.getValueAt(i, 1) + ",0," + progressivo + ","
|
||||
+ idModoPagamento + "," + idTurno + "," + flagGratuita + "," + flagBonus + ","
|
||||
+ flagAsporto + "," + flagPassaggioTessera + ")",
|
||||
this);
|
||||
aggiornaProgressivoPagamentiTurno(Double.valueOf(model2.getValueAt(i, 1).toString()));
|
||||
model2.deleteRow(i);
|
||||
@ -3964,7 +4015,6 @@ public class PuntoCassa extends JFrame implements ActionListener {
|
||||
//lblFascia.setText("");
|
||||
|
||||
//if (isCassaAperta == false) {
|
||||
|
||||
turnoAttuale();
|
||||
if ((idTurnoAttuale - idTurno) != 0) {
|
||||
|
||||
@ -3999,7 +4049,6 @@ public class PuntoCassa extends JFrame implements ActionListener {
|
||||
idProfiloTariffario = idProfiloTariffarioDefault;//0L
|
||||
|
||||
//setModoPagamento(modoPagamentoDefault);
|
||||
|
||||
this.caricaPannello();
|
||||
//abilitaPulsanti(pnlCategorie, true, true);
|
||||
jbtnChiudi.setEnabled(false);
|
||||
@ -4049,13 +4098,15 @@ public class PuntoCassa extends JFrame implements ActionListener {
|
||||
logTessera();
|
||||
|
||||
try {
|
||||
if (!controlloAbilitazioneTessera(numeroTessera))
|
||||
if (!controlloAbilitazioneTessera(numeroTessera)) {
|
||||
return;
|
||||
}
|
||||
|
||||
String controlloPassaggi = "Select controlla_passaggi('" + numeroTessera + "'," + idPuntoCassa + ") as T from dual";
|
||||
Long abilitatoPassaggi = Utils.mySelectInteger(controlloPassaggi, "T", this);
|
||||
if (!controlloPassaggi(abilitatoPassaggi, numeroTessera))
|
||||
if (!controlloPassaggi(abilitatoPassaggi, numeroTessera)) {
|
||||
return;
|
||||
}
|
||||
|
||||
//aggiungo un giorno altrimenti in caso di scadenza nello stesso giorno
|
||||
//considera le ore
|
||||
@ -4132,7 +4183,6 @@ public class PuntoCassa extends JFrame implements ActionListener {
|
||||
lblTipoPagamento.setText(tipo);
|
||||
}
|
||||
|
||||
|
||||
//28-09-2016 quando c'è una sola categoria faccio click
|
||||
if (numeroCategorie == 1) {
|
||||
Component[] components = pnlCategorie.getComponents();
|
||||
@ -4469,13 +4519,6 @@ public class PuntoCassa extends JFrame implements ActionListener {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public void getImage(String idProdotto) {
|
||||
String fullName = null;
|
||||
InputStream gifData = null;
|
||||
@ -4545,7 +4588,6 @@ public class PuntoCassa extends JFrame implements ActionListener {
|
||||
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
|
||||
return "to_date('" + formatter.format(data) + "','dd/mm/yyyy HH24:MI:SS')";
|
||||
}*/
|
||||
|
||||
private String formatLocalDateTime(LocalDateTime data) {
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss");
|
||||
return "to_date('" + data.format(formatter) + "','dd/mm/yyyy HH24:MI:SS')";
|
||||
@ -4726,31 +4768,52 @@ public class PuntoCassa extends JFrame implements ActionListener {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void statoAttivoNonLoggato() {
|
||||
String PC = idPuntoCassa.toString();
|
||||
if (PC.length() >= 5) {
|
||||
PC = PC.substring(PC.length() - 5, PC.length());
|
||||
/**
|
||||
* Metodo che stampa un messaggio sul POS
|
||||
* Se il POS è chiuso, stampa a prescindere, altrimenti stampa solo se non è stata letta una tessera
|
||||
* @param flagAperto
|
||||
*/
|
||||
private void stampaSuPos(boolean flagAperto){
|
||||
String idPuntoCassaString = idPuntoCassa.toString();
|
||||
if (idPuntoCassaString.length() >= 5) {
|
||||
idPuntoCassaString = idPuntoCassaString.substring(idPuntoCassaString.length() - 5, idPuntoCassaString.length());
|
||||
} else {
|
||||
PC = Utils.spaziBianchi(PC, 5, false);
|
||||
idPuntoCassaString = Utils.spaziBianchi(idPuntoCassaString, 5, false);
|
||||
}
|
||||
|
||||
String Riga = Utils.spaziBianchi(messageDisplay, 20, true) + "POS " + PC + " CHIUSO";
|
||||
display(Riga, null);
|
||||
if(flagAperto && jTxtTessera.getText().trim().length() <= 0){
|
||||
String riga = Utils.spaziBianchi(messageDisplay, 20, true) + "POS " + idPuntoCassaString + " APERTO";
|
||||
display(riga, null);
|
||||
}
|
||||
else if (!flagAperto){
|
||||
String riga = Utils.spaziBianchi(messageDisplay, 20, true) + "POS " + idPuntoCassaString + " CHIUSO";
|
||||
display(riga, null);
|
||||
}
|
||||
}
|
||||
|
||||
private void statoAttivoNonLoggato() {
|
||||
String idPuntoCassaString = idPuntoCassa.toString();
|
||||
if (idPuntoCassaString.length() >= 5) {
|
||||
idPuntoCassaString = idPuntoCassaString.substring(idPuntoCassaString.length() - 5, idPuntoCassaString.length());
|
||||
} else {
|
||||
idPuntoCassaString = Utils.spaziBianchi(idPuntoCassaString, 5, false);
|
||||
}
|
||||
|
||||
String riga = Utils.spaziBianchi(messageDisplay, 20, true) + "POS " + idPuntoCassaString + " CHIUSO";
|
||||
display(riga, null);
|
||||
}
|
||||
|
||||
private void statoAttivoLoggato() {
|
||||
//per evitare che inserendo la tessera successiva mi cancelli il num tessera
|
||||
if (jTxtTessera.getText().trim().length() <= 0) {
|
||||
String PC = idPuntoCassa.toString();
|
||||
if (PC.length() >= 5) {
|
||||
PC = PC.substring(PC.length() - 5, PC.length());
|
||||
String idPuntoCassaString = idPuntoCassa.toString();
|
||||
if (idPuntoCassaString.length() >= 5) {
|
||||
idPuntoCassaString = idPuntoCassaString.substring(idPuntoCassaString.length() - 5, idPuntoCassaString.length());
|
||||
} else {
|
||||
PC = Utils.spaziBianchi(PC, 5, false);
|
||||
idPuntoCassaString = Utils.spaziBianchi(idPuntoCassaString, 5, false);
|
||||
}
|
||||
|
||||
String riga = Utils.spaziBianchi(messageDisplay, 20, true) + "POS " + PC + " APERTO";
|
||||
String riga = Utils.spaziBianchi(messageDisplay, 20, true) + "POS " + idPuntoCassaString + " APERTO";
|
||||
display(riga, null);
|
||||
}
|
||||
}
|
||||
@ -4772,8 +4835,6 @@ public class PuntoCassa extends JFrame implements ActionListener {
|
||||
}
|
||||
|
||||
}*/
|
||||
|
||||
|
||||
class CardTask extends TimerTask {
|
||||
|
||||
PuntoCassa frmA;
|
||||
@ -4785,7 +4846,7 @@ public class PuntoCassa extends JFrame implements ActionListener {
|
||||
public void run() {
|
||||
MyApplication myApp = new MyApplication();
|
||||
try {
|
||||
myApp.smartCard.setReader(jcmbSC.getSelectedItem());
|
||||
myApp.smartCard.setReader(jcmbSmartCard.getSelectedItem());
|
||||
myApp.smartCard.connect("T=1");
|
||||
statoCarta = StatiCarta.INSERITA;
|
||||
if (pnlLogin.isVisible() == false && cartaLetta == false) {
|
||||
@ -4900,8 +4961,6 @@ public class PuntoCassa extends JFrame implements ActionListener {
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||
public javax.swing.JButton btnImpostaCliente;
|
||||
private javax.swing.JButton btnLogin;
|
||||
@ -4927,7 +4986,7 @@ public class PuntoCassa extends JFrame implements ActionListener {
|
||||
private javax.swing.JButton jbtnGiu;
|
||||
private javax.swing.JButton jbtnStampa;
|
||||
private javax.swing.JButton jbtnSu;
|
||||
private javax.swing.JComboBox jcmbSC;
|
||||
private javax.swing.JComboBox jcmbSmartCard;
|
||||
private javax.swing.JLabel lblAzienda;
|
||||
private javax.swing.JLabel lblCategoria;
|
||||
private javax.swing.JLabel lblCodice;
|
||||
|
Loading…
Reference in New Issue
Block a user