Files
unicenta-opos/src/main/java/com/unicenta/pos/sales/restaurant/RestaurantDBUtils.java
T
hugh-unicenta da06d3ed76 Woocom (#50)
* orders

* woocommerce support

* working with MariaDB + Derby
2025-07-31 16:03:08 +01:00

641 lines
16 KiB
Java

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.unicenta.pos.sales.restaurant;
import com.unicenta.data.loader.Session;
import com.unicenta.pos.forms.AppView;
import com.unicenta.pos.forms.DataLogicSystem;
import lombok.extern.slf4j.Slf4j;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Timestamp;
/**
*
* @author JDL
*/
@Slf4j
public class RestaurantDBUtils {
private Session s;
private Connection con;
private Statement stmt;
private PreparedStatement pstmt;
private String SQL;
private ResultSet rs;
private AppView m_App;
protected DataLogicSystem dlSystem;
/**
*
* @param oApp
*/
public RestaurantDBUtils(AppView oApp) {
m_App=oApp;
try{
s=m_App.getSession();
con=s.getConnection();
} catch (SQLException e){
}
}
/**
*
* @param newTable
* @param ticketID
*/
public void moveCustomer(String newTable, String ticketID){
String oldTable=getTableDetails(ticketID);
if (countTicketIdInTable(ticketID)>1){
setCustomerNameInTable(getCustomerNameInTable(oldTable),newTable);
setWaiterNameInTable(getWaiterNameInTable(oldTable),newTable);
setTicketIdInTable(ticketID,newTable);
setGuestsInTable(getGuestsInTable(oldTable),newTable);
oldTable = getTableMovedName(ticketID);
if ((oldTable != null) && (oldTable != newTable)){
clearCustomerNameInTable(oldTable);
clearWaiterNameInTable(oldTable);
clearTicketIdInTable(oldTable);
clearTableMovedFlag(oldTable);
} else {
oldTable = getTableMovedName(ticketID);
clearTableMovedFlag(oldTable);
}
}
}
/**
*
* @param custName
* @param tableName
*/
public void setCustomerNameInTable(String custName, String tableName){
try{
SQL = "UPDATE places SET CUSTOMER=? WHERE NAME=?";
pstmt=con.prepareStatement(SQL);
pstmt.setString(1,custName);
pstmt.setString(2,tableName);
pstmt.executeUpdate();
}catch(SQLException e){
}
}
/**
*
* @param custName
* @param tableID
*/
public void setCustomerNameInTableById(String custName, String tableID){
try{
SQL = "UPDATE places SET CUSTOMER=? WHERE ID=?";
pstmt=con.prepareStatement(SQL);
pstmt.setString(1,custName);
pstmt.setString(2,tableID);
pstmt.executeUpdate();
}catch(SQLException e){
}
}
/**
*
* @param custName
* @param ticketID
*/
public void setCustomerNameInTableByTicketId(String custName, String ticketID){
try{
SQL = "UPDATE places SET CUSTOMER=? WHERE TICKETID=?";
pstmt=con.prepareStatement(SQL);
pstmt.setString(1,custName);
pstmt.setString(2,ticketID);
pstmt.executeUpdate();
}catch(SQLException e){
}
}
/**
*
* @param tableName
* @return
*/
public String getCustomerNameInTable(String tableName){
try{
SQL = "SELECT customer FROM places WHERE NAME='"+ tableName + "'";
stmt = (Statement) con.createStatement();
rs = stmt.executeQuery(SQL);
if (rs.next()){
String customer =rs.getString("CUSTOMER");
return(customer);
}
}catch(SQLException e){
}
return "";
}
/**
*
* @param tableId
* @return
*/
public String getCustomerNameInTableById(String tableId){
try{
SQL = "SELECT customer FROM places WHERE ID='"+ tableId + "'";
stmt = (Statement) con.createStatement();
rs = stmt.executeQuery(SQL);
if (rs.next()){
String customer =rs.getString("CUSTOMER");
return(customer); }
}catch(SQLException e){
}
return "";
}
/**
*
* @param tableName
*/
public void clearCustomerNameInTable(String tableName){
try{
SQL = "UPDATE places SET CUSTOMER=null WHERE NAME=?";
pstmt=con.prepareStatement(SQL);
pstmt.setString(1,tableName);
pstmt.executeUpdate();
}catch(SQLException e){
}
}
/**
*
* @param tableID
*/
public void clearCustomerNameInTableById(String tableID){
try{
SQL = "UPDATE places SET CUSTOMER=null WHERE ID=?";
pstmt=con.prepareStatement(SQL);
pstmt.setString(1,tableID);
pstmt.executeUpdate();
}catch(SQLException e){
}
}
/**
*
* @param waiterName
* @param tableName
*/
public void setWaiterNameInTable(String waiterName, String tableName){
try{
SQL = "UPDATE places SET WAITER=? WHERE NAME=?";
pstmt=con.prepareStatement(SQL);
pstmt.setString(1,waiterName);
pstmt.setString(2,tableName);
pstmt.executeUpdate();
}catch(SQLException e){
}
}
/**
*
* @param waiterName
* @param tableID
*/
public void setWaiterNameInTableById(String waiterName, String tableID){
try{
SQL = "UPDATE places SET WAITER=? WHERE ID=?";
pstmt=con.prepareStatement(SQL);
pstmt.setString(1,waiterName);
pstmt.setString(2,tableID);
pstmt.executeUpdate();
}catch(SQLException e){
}
}
/**
*
* @param tableName
* @return
*/
public String getWaiterNameInTable(String tableName){
try{
SQL = "SELECT waiter FROM places WHERE NAME='"+ tableName + "'";
stmt = (Statement) con.createStatement();
rs = stmt.executeQuery(SQL);
if (rs.next()){
String waiter =rs.getString("WAITER");
return(waiter);
}
}catch(SQLException e){
}
return "";
}
/**
*
* @param tableID
* @return
*/
public String getWaiterNameInTableById(String tableID){
try{
SQL = "SELECT waiter FROM places WHERE ID='"+ tableID + "'";
stmt = (Statement) con.createStatement();
rs = stmt.executeQuery(SQL);
if (rs.next()){
String waiter =rs.getString("WAITER");
return(waiter);
}
}catch(SQLException e){
}
return "";
}
/**
*
* @param tableName
*/
public void clearWaiterNameInTable(String tableName){
try{
SQL = "UPDATE places SET WAITER=null WHERE NAME=?";
pstmt=con.prepareStatement(SQL);
pstmt.setString(1,tableName);
pstmt.executeUpdate();
}catch(SQLException e){
}
}
/**
*
* @param tableID
*/
public void clearWaiterNameInTableById(String tableID){
try{
SQL = "UPDATE places SET WAITER=null WHERE ID=?";
pstmt=con.prepareStatement(SQL);
pstmt.setString(1,tableID);
pstmt.executeUpdate();
}catch(SQLException e){
}
}
/**
*
* @param ID
* @return
*/
public String getTicketIdInTable(String ID){
try{
SQL = "SELECT TICKETID FROM places WHERE ID='"+ ID + "'";
stmt = (Statement) con.createStatement();
rs = stmt.executeQuery(SQL);
if (rs.next()){
return(rs.getString("TICKETID"));
}
}catch(SQLException e){
log.error("Error running SQL: {}{}", SQL, e.getMessage());
}
return "";
}
/**
*
* @param TicketID
* @param tableName
*/
public void setTicketIdInTable(String TicketID, String tableName){
try{
// SQL = "UPDATE places SET TICKETID=?, GUESTS=SEATS WHERE NAME=?";
SQL = "UPDATE places SET TICKETID=? WHERE NAME=?";
pstmt=con.prepareStatement(SQL);
pstmt.setString(1,TicketID);
pstmt.setString(2,tableName);
pstmt.executeUpdate();
}catch(SQLException e){
}
}
/**
*
* @param tableName
*/
public void clearTicketIdInTable(String tableName){
try{
// SQL = "UPDATE places SET TICKETID=null WHERE NAME=?";
SQL = "UPDATE places SET TICKETID=null, OCCUPIED=null WHERE NAME=?";
pstmt=con.prepareStatement(SQL);
pstmt.setString(1,tableName);
pstmt.executeUpdate();
}catch(SQLException e){
}
clearGuestsInTable(tableName);
}
/**
*
* @param tableID
*/
public void clearTicketIdInTableById(String tableID){
try{
SQL = "UPDATE places SET TICKETID=null WHERE ID=?";
pstmt=con.prepareStatement(SQL);
pstmt.setString(1,tableID);
pstmt.executeUpdate();
}catch(SQLException e){
}
}
/**
*
* @param tableID
* @return
*/
public Integer getGuestsInTable(String tableID){
try{
SQL = "SELECT guests FROM places WHERE ID='"+ tableID + "'";
stmt = (Statement) con.createStatement();
rs = stmt.executeQuery(SQL);
if (rs.next()){
Integer guests =rs.getInt("GUESTS");
return(guests);
}
}catch(SQLException e){
}
return 0;
}
/**
*
* @param guests
* @param tableID
*/
public void setGuestsInTable(Integer guests, String tableID){
try{
SQL = "UPDATE places SET GUESTS=? WHERE ID=?";
pstmt=con.prepareStatement(SQL);
pstmt.setInt(1,guests);
pstmt.setString(2,tableID);
pstmt.executeUpdate();
}catch(SQLException e){
}
}
/**
*
* @param tableID
* @return
*/
public Integer updateGuestsInTable(String tableID){
try{
SQL = "SELECT guests FROM places WHERE ID='"+ tableID + "'";
stmt = (Statement) con.createStatement();
rs = stmt.executeQuery(SQL);
if (rs.next()){
Integer guests =rs.getInt("GUESTS");
return(guests);
}
}catch(SQLException e){
}
return 0;
}
/**
*
* @param tableID
*/
public void clearGuestsInTable(String tableID){
try{
SQL = "UPDATE places SET guests=0 WHERE ID=?";
pstmt=con.prepareStatement(SQL);
pstmt.setString(1,tableID);
pstmt.executeUpdate();
}catch(SQLException e){
}
}
/**
*
* @param table
*/
public void clearGuestsTable(String table){
try{
SQL = "UPDATE places SET guests=0 WHERE NAME=?";
pstmt=con.prepareStatement(SQL);
pstmt.setString(1,table);
pstmt.executeUpdate();
}catch(SQLException e){
}
}
/**
*
* @param tableID
*/
public void clearOccupied(String tableID){
try{
SQL = "UPDATE places SET occupied=null WHERE ID=?";
pstmt=con.prepareStatement(SQL);
pstmt.setString(1,tableID);
pstmt.executeUpdate();
}catch(SQLException e){
}
}
/**
*
* @param table
*/
public void clearOccupiedTable(String table){
try{
SQL = "UPDATE places SET occupied=null WHERE NAME=?";
pstmt=con.prepareStatement(SQL);
pstmt.setString(1,table);
pstmt.executeUpdate();
}catch(SQLException e){
}
}
/**
*
* @param tableID
* @return
*/
public Timestamp getOccupied(String tableID){
try{
SQL = "SELECT occupied FROM places WHERE ID='"+ tableID + "'";
stmt = (Statement) con.createStatement();
rs = stmt.executeQuery(SQL);
if (rs.next()){
Timestamp occupied =rs.getTimestamp("OCCUPIED");
return(occupied);
}
}catch(SQLException e){
}
return null;
}
/**
*
* @param ticketID
*/
public void setOccupied(String ticketID){
try{
SQL = "UPDATE places SET occupied=NOW() WHERE TICKETID=?";
pstmt=con.prepareStatement(SQL);
pstmt.setString(1,ticketID);
pstmt.executeUpdate();
}catch(SQLException e){
}
}
/**
*
* @param ticketID
* @return
*/
public Integer countTicketIdInTable(String ticketID){
try{
SQL = "SELECT COUNT(*) AS RECORDCOUNT FROM places WHERE TICKETID='"+ ticketID + "'";
stmt = (Statement) con.createStatement();
rs = stmt.executeQuery(SQL);
if (rs.next()){
Integer count =rs.getInt("RECORDCOUNT");
return(count);
}
}catch(SQLException e){
}
return 0;
}
/**
*
* @param ticketID
* @return
*/
public String getTableDetails (String ticketID){
try{
SQL = "SELECT NAME FROM places WHERE TICKETID='"+ ticketID + "'";
stmt = (Statement) con.createStatement();
rs = stmt.executeQuery(SQL);
if (rs.next()){
String name =rs.getString("NAME");
return(name);
}
}catch(SQLException e){
}
return "";
}
public String getTableId (String nameOfTable){
try{
SQL = "SELECT ID FROM places WHERE NAME='"+ nameOfTable + "'";
stmt = con.createStatement();
rs = stmt.executeQuery(SQL);
if (rs.next()){
return(rs.getString("ID"));
}
}catch(SQLException e){
log.error("Error running SQL: {}{}", SQL, e.getMessage());
}
return "";
}
/**
*
* @param tableID
*/
public void setTableMovedFlag (String tableID){
try{
SQL = "UPDATE places SET TABLEMOVED='true' WHERE ID=?";
pstmt=con.prepareStatement(SQL);
pstmt.setString(1,tableID);
pstmt.executeUpdate();
}catch(SQLException e){
}
}
/**
*
* @param ticketID
* @return
*/
public String getTableMovedName (String ticketID){
try{
SQL = "SELECT NAME FROM places WHERE TICKETID='"+ ticketID + "' AND TABLEMOVED ='true'";
stmt = (Statement) con.createStatement();
rs = stmt.executeQuery(SQL);
if (rs.next()){
String name =rs.getString("NAME");
return(name);
}
}catch(SQLException e){
}
return null;
}
/**
*
* @param ticketID
* @return
*/
public Boolean getTableMovedFlag (String ticketID){
try{
SQL = "SELECT TABLEMOVED FROM places WHERE TICKETID='"+ ticketID + "'";
stmt = (Statement) con.createStatement();
rs = stmt.executeQuery(SQL);
if (rs.next()){
return(rs.getBoolean("TABLEMOVED"));
}
}catch(SQLException e){
}
return (false);
}
/**
*
* @param tableID
*/
public void clearTableMovedFlag (String tableID){
try{
SQL = "UPDATE places SET TABLEMOVED='false' WHERE NAME=?";
pstmt=con.prepareStatement(SQL);
pstmt.setString(1,tableID);
pstmt.executeUpdate();
}catch(SQLException e){
}
}
}