/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.openbravo.pos.sales.restaurant; import com.openbravo.data.loader.Session; import com.openbravo.pos.forms.AppView; import com.openbravo.pos.forms.DataLogicSystem; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; /** * * @author JDL */ 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; public RestaurantDBUtils(AppView oApp) { m_App=oApp; //get database connection details try{ s=m_App.getSession(); con=s.getConnection(); } catch (Exception e){System.out.print("No session or connection"); } } 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); // remove the data for the old table oldTable = getTableMovedName(ticketID); if ((oldTable != null) && (oldTable != newTable)){ clearCustomerNameInTable(oldTable); clearWaiterNameInTable(oldTable); clearTicketIdInTable(oldTable); clearTableMovedFlag(oldTable); } else{ oldTable = getTableMovedName(ticketID); clearTableMovedFlag(oldTable); } } } 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(Exception e){ } } 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(Exception e){ } } 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(Exception e){ } } 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(Exception e){ } 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(Exception e){ } return ""; } 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(Exception e){ } } 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(Exception e){ } } 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(Exception e){ } } 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(Exception e){ } } 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(Exception e){ } 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(Exception e){ } return ""; } 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(Exception e){ } } 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(Exception e){ } } 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()){ String customer =rs.getString("TICKETID"); return(customer); } }catch(Exception e){ } return ""; } public void setTicketIdInTable(String TicketID, String tableName){ try{ SQL = "UPDATE PLACES SET TICKETID=? WHERE NAME=?"; pstmt=con.prepareStatement(SQL); pstmt.setString(1,TicketID); pstmt.setString(2,tableName); pstmt.executeUpdate(); }catch(Exception e){ } } public void clearTicketIdInTable(String tableName){ try{ SQL = "UPDATE PLACES SET TICKETID=null WHERE NAME=?"; pstmt=con.prepareStatement(SQL); pstmt.setString(1,tableName); pstmt.executeUpdate(); }catch(Exception e){ } } 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(Exception e){ } } 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(Exception e){ } return 0; } 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(Exception e){ } return ""; } 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(Exception e){ } } 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(Exception e){ } return null; } 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(Exception e){ } return (false); } 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(Exception e){ } } }