UOCL-285: payment screen hanging (#42)

* UOCL-285: payment screen hanging

* UOCL-290: xls exports fix

* 5.3.2 release
This commit is contained in:
hugh-unicenta
2025-03-07 10:56:03 +00:00
committed by GitHub
parent a038cc2282
commit 0c6b84dd5f
9 changed files with 62 additions and 26 deletions
+34 -18
View File
@@ -4,7 +4,7 @@
<groupId>com.unicenta</groupId> <groupId>com.unicenta</groupId>
<artifactId>unicentaopos</artifactId> <artifactId>unicentaopos</artifactId>
<version>5.3.1</version> <version>5.3.2</version>
<packaging>jar</packaging> <packaging>jar</packaging>
<properties> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -111,11 +111,42 @@
<artifactId>itext</artifactId> <artifactId>itext</artifactId>
<version>2.1.7</version> <version>2.1.7</version>
</dependency> </dependency>
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>6.15.0</version>
<exclusions>
<exclusion>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports-fonts</artifactId>
<version>6.15.0</version>
</dependency>
<dependency> <dependency>
<groupId>org.apache.poi</groupId> <groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId> <artifactId>poi</artifactId>
<version>3.10.1</version> <version>3.17</version>
</dependency> </dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17</version>
</dependency>
<dependency>
<groupId>org.apache.xmlbeans</groupId>
<artifactId>xmlbeans</artifactId>
<version>5.1.1</version>
</dependency>
<dependency> <dependency>
<groupId>net.sf.barcode4j</groupId> <groupId>net.sf.barcode4j</groupId>
<artifactId>barcode4j</artifactId> <artifactId>barcode4j</artifactId>
@@ -266,22 +297,7 @@
<artifactId>fop</artifactId> <artifactId>fop</artifactId>
<version>2.3</version> <version>2.3</version>
</dependency> </dependency>
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>6.12.2</version>
<exclusions>
<exclusion>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports-fonts</artifactId>
<version>6.0.0</version>
</dependency>
<dependency> <dependency>
<groupId>ar.com.fdvs</groupId> <groupId>ar.com.fdvs</groupId>
<artifactId>DynamicJasper-core-fonts</artifactId> <artifactId>DynamicJasper-core-fonts</artifactId>
@@ -30,7 +30,7 @@ public class AppLocal {
public static final String APP_NAME = "uniCenta oPOS"; public static final String APP_NAME = "uniCenta oPOS";
public static final String APP_ID = "unicentaopos"; public static final String APP_ID = "unicentaopos";
public static final String APP_VERSION = "5.3.1"; public static final String APP_VERSION = "5.3.2";
private static final LocaleResources m_resources; private static final LocaleResources m_resources;
@@ -41,6 +41,8 @@ import java.sql.SQLException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
/** /**
@@ -276,6 +278,7 @@ public class CustomerCSVImport extends JPanel implements JPanelView {
* the UI responsiveness. * the UI responsiveness.
*/ */
private void setWorker() { private void setWorker() {
ExecutorService customExecutor = Executors.newCachedThreadPool();
progress = 0; progress = 0;
webPBar.setStringPainted(true); webPBar.setStringPainted(true);
@@ -304,7 +307,8 @@ public class CustomerCSVImport extends JPanel implements JPanelView {
} }
} }
}; };
pbWorker.execute(); // pbWorker.execute();
customExecutor.submit(pbWorker);
} }
/** /**
@@ -44,6 +44,8 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
/** /**
@@ -292,6 +294,7 @@ public class JPanelCSVImport extends JPanel implements JPanelView {
* the UI responsiveness. * the UI responsiveness.
*/ */
private void setWorker() { private void setWorker() {
ExecutorService customExecutor = Executors.newCachedThreadPool();
progress = 0; progress = 0;
webPBar.setStringPainted(true); webPBar.setStringPainted(true);
@@ -320,7 +323,8 @@ public class JPanelCSVImport extends JPanel implements JPanelView {
} }
} }
}; };
pbWorker.execute(); //pbWorker.execute();
customExecutor.submit(pbWorker);
} }
/** /**
@@ -43,6 +43,8 @@ import java.sql.SQLException;
import java.util.List; import java.util.List;
import java.util.Properties; import java.util.Properties;
import java.util.UUID; import java.util.UUID;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
/** /**
@@ -511,6 +513,7 @@ public class StockQtyImport extends JPanel implements JPanelView {
* the UI responsiveness. * the UI responsiveness.
*/ */
private void setWorker() { private void setWorker() {
ExecutorService customExecutor = Executors.newCachedThreadPool();
progress = 0; progress = 0;
webPBar.setStringPainted(true); webPBar.setStringPainted(true);
@@ -539,7 +542,8 @@ public class StockQtyImport extends JPanel implements JPanelView {
} }
} }
}; };
pbWorker.execute(); //pbWorker.execute();
customExecutor.submit(pbWorker);
} }
/** /**
@@ -749,7 +749,7 @@ public abstract class JPaymentSelect extends javax.swing.JDialog
}; };
//worker.execute(); //worker.execute();
customExecutor.execute(worker); customExecutor.submit(worker);
} }
catch (Exception ex) { catch (Exception ex) {
System.out.println(ex.getMessage()); System.out.println(ex.getMessage());
@@ -37,6 +37,8 @@ import lombok.extern.slf4j.Slf4j;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import javax.swing.*; import javax.swing.*;
/** /**
@@ -78,6 +80,7 @@ public class JTicketsBagShared extends JTicketsBag {
log.debug("Loading Sales screen! "+this.getClass()); log.debug("Loading Sales screen! "+this.getClass());
ExecutorService customExecutor = Executors.newCachedThreadPool();
SwingWorker<String, String> reloadLayaway = new SwingWorker<>() { SwingWorker<String, String> reloadLayaway = new SwingWorker<>() {
@Override @Override
protected String doInBackground() throws Exception { protected String doInBackground() throws Exception {
@@ -91,7 +94,8 @@ public class JTicketsBagShared extends JTicketsBag {
} }
}; };
reloadLayaway.execute(); //reloadLayaway.execute();
customExecutor.submit(reloadLayaway);
m_sCurrentTicket = null; m_sCurrentTicket = null;
@@ -43,6 +43,8 @@ import java.sql.*;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Properties; import java.util.Properties;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.regex.Matcher; import java.util.regex.Matcher;
/** /**
@@ -2721,6 +2723,7 @@ public final class Transfer extends JPanel implements JPanelView {
JOptionPane.YES_NO_OPTION, JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE) == JOptionPane.YES_OPTION) { JOptionPane.QUESTION_MESSAGE) == JOptionPane.YES_OPTION) {
ExecutorService customExecutor = Executors.newCachedThreadPool();
SwingWorker<Void, Void> worker = new SwingWorker<Void, Void>() { SwingWorker<Void, Void> worker = new SwingWorker<Void, Void>() {
@Override @Override
@@ -2731,7 +2734,8 @@ public final class Transfer extends JPanel implements JPanelView {
} }
}; };
worker.execute(); //worker.execute();
customExecutor.submit(worker);
} }
System.gc(); System.gc();
+1 -1
View File
@@ -881,7 +881,7 @@ message.email=Desktop email app' not found
message.emptycustomer=Customer cannot be empty message.emptycustomer=Customer cannot be empty
message.emptynumber=Number cannot be empty message.emptynumber=Number cannot be empty
message.enterbuyprice=Enter new Buy Price message.enterbuyprice=Enter new Buy Price
message.eolupdate=<html><center><h2>Version 5.3.1 Upgrade!</h2></br><h3>Your current database version is {0}</h3><br>For version 5.3 click <b>YES</b><br/><br/>For any other version click <b>NO</b> and get to 5.3 first<br><br/> message.eolupdate=<html><center><h2>Version 5.3.2 Upgrade!</h2></br><h3>Your current database version is {0}</h3><br>For version 5.3 click <b>YES</b><br/><br/>For any other version click <b>NO</b> and get to 5.3 first<br><br/>
message.ibuttonassign=<html><center>Get the iButton ID<br>Place iButton onto the reader then click OK message.ibuttonassign=<html><center>Get the iButton ID<br>Place iButton onto the reader then click OK
message.ibuttonnotassign=<html><center>The iButton used is not yet assigned to anyone message.ibuttonnotassign=<html><center>The iButton used is not yet assigned to anyone
message.ibuttonnotfound=No iButton adapter found. Key fobs will be disabled. message.ibuttonnotfound=No iButton adapter found. Key fobs will be disabled.