Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package edu.tup.prepaid_canteen.actions;
- import edu.tup.prepaid_canteen.lists.*;
- import edu.tup.prepaid_canteen.models.*;
- import java.math.BigDecimal;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.Vector;
- import javax.persistence.NoResultException;
- import javax.persistence.Query;
- import javax.swing.JOptionPane;
- public final class Database {
- private final ObjClass obj = new ObjClass();
- private final Config cfg = new Config("config");
- public Database() {
- cfg.loadConfig();
- }
- /*
- * UserAccounts Entity instance
- */
- /* Check if user is expired */
- public boolean isUserExpired( UserAccounts user ) {
- if ( user.getExpiryDate().after(new Date()) ) // Not Expired
- return false;
- else if ( user.getExpiryDate().before(new Date()) || user.getExpiryDate().equals(new Date()) ) // Expired
- return true;
- else
- return true;
- }
- /* Check if user is active */
- public boolean isUserActive( UserAccounts user ) {
- try {
- return user.getActive();
- } catch( NoResultException nre ) {
- return false;
- } catch( Exception e ) {
- LToolkit.createLog(e.toString(), ErrorLevel.WARNING);
- return false;
- }
- }
- /* Check if username exists */
- public boolean isUsernameExist( String username ) {
- try {
- Query query = obj.getEm().createQuery(
- "SELECT u.id FROM UserAccounts u " +
- "WHERE u.name = :user");
- query.setParameter("user", username);
- return query.getSingleResult() != null;
- } catch( NoResultException nre ) {
- return false;
- } catch( Exception e ) {
- LToolkit.createLog(e.toString(), ErrorLevel.INFO);
- return false;
- }
- }
- /*
- * Facility Entity instance
- */
- /* Return Facility instance */
- public Facilities getFacility() {
- try {
- Query query = obj.getEm().createQuery(
- "FROM Facilities f " +
- "WHERE f.name = :name");
- query.setParameter("name", cfg.getProperty("facilityName"));
- return (Facilities) query.getSingleResult();
- } catch( NoResultException nre ) {
- LToolkit.createLog("Facility was not configured or has incorrect value at system configuration.", ErrorLevel.WARNING);
- JOptionPane.showMessageDialog(null, "Facility not found! See logs for more information.", "Configuration Error!", JOptionPane.WARNING_MESSAGE);
- System.exit(1);
- return null;
- } catch( Exception e ) {
- LToolkit.createLog(e.toString(), ErrorLevel.WARNING);
- return null;
- }
- }
- public boolean isSaveLog() {
- try {
- Query query = obj.getEm().createQuery(
- "SELECT f.saveLog FROM Facilities f" +
- "WHERE f.name = :name");
- query.setParameter("name", cfg.getProperty("facilityName"));
- return (boolean) query.getSingleResult();
- } catch( NoResultException nre ) {
- System.out.println(nre.toString());
- return false;
- } catch( Exception e ) {
- System.out.println(e.toString());
- return false;
- }
- }
- /* Return facility name */
- public String getFacilityName() {
- try {
- Query query = obj.getEm().createQuery(
- "SELECT f.name FROM Facilities f " +
- "WHERE f.name = :name");
- query.setParameter("name", cfg.getProperty("facilityName"));
- return (String) query.getSingleResult();
- } catch( NoResultException nre ) {
- LToolkit.createLog("Facility was not configured or has incorrect value at system configuration.", ErrorLevel.WARNING);
- JOptionPane.showMessageDialog(null, "Facility not found! See logs for more information.", "Configuration Error!", JOptionPane.WARNING_MESSAGE);
- System.exit(1);
- return "Auth Window";
- } catch( Exception e ) {
- LToolkit.createLog(e.toString(), ErrorLevel.WARNING);
- return "Auth Window";
- }
- }
- /*
- * CashierShifts Entity instance
- */
- /* Return current user shift */
- public UserAccounts getActiveUser() {
- try {
- Query query = obj.getEm().createQuery(
- "SELECT c.cashierId FROM CashierShifts c " +
- "WHERE c.active = :active AND " +
- "c.terminalId = :terminal");
- query.setParameter("active", true);
- query.setParameter("terminal", getTerminal());
- return (UserAccounts) query.getSingleResult();
- } catch( NoResultException nre ) {
- return null;
- } catch( Exception e ) {
- LToolkit.createLog(e.toString(), ErrorLevel.ERROR);
- return null;
- }
- }
- public String getActiveUserFullName( FullName full_name ) {
- return full_name == FullName.LastNameFirst ? getActiveUser().getLastName() + ", " + getActiveUser().getFirstName() :
- getActiveUser().getFirstName() + " " + getActiveUser().getLastName();
- }
- /* Return Active CashierShift */
- public CashierShifts getActiveCashierShift() {
- try {
- Query query = obj.getEm().createQuery(
- "FROM CashierShifts c " +
- "WHERE c.active = :active");
- query.setParameter("active", true);
- return (CashierShifts) query.getSingleResult();
- } catch( NoResultException nre ) {
- return null;
- } catch( Exception e ) {
- LToolkit.createLog(e.toString(), getClass(), ErrorLevel.WARNING);
- return null;
- }
- }
- public boolean hasActiveCashierShift() {
- try {
- Query query = obj.getEm().createQuery(
- "FROM CashierShifts c " +
- "WHERE c.active = :active AND c.terminalId = :terminal");
- query.setParameter("active", true);
- query.setParameter("terminal", getTerminal());
- query.getSingleResult();
- return true;
- } catch( NoResultException nre ) {
- return false;
- } catch( Exception e ) {
- LToolkit.createLog(e.toString(), ErrorLevel.ERROR);
- return false;
- }
- }
- /* Return CashierShift Id */
- public Integer getCurrentCashierShiftId() {
- try {
- Query query = obj.getEm().createQuery(
- "SELECT c.id FROM CashierShifts c " +
- "WHERE c.active = :active");
- query.setParameter("active", true);
- return (Integer) query.getSingleResult();
- } catch( NoResultException nre ) {
- return null;
- } catch( Exception e ) {
- LToolkit.createLog(e.toString(), getClass(), ErrorLevel.WARNING);
- return null;
- }
- }
- /* Return CashierShift's Total Amount by ID */
- public BigDecimal getCashierShiftTotalAmountById( Integer id ) {
- try {
- Query query = obj.getEm().createQuery(
- "SELECT c.totalAmount FROM CashierShifts c " +
- "WHERE c.id = :id");
- query.setParameter("id'", id);
- return (BigDecimal) query.getSingleResult();
- } catch( NoResultException nre ) {
- return BigDecimal.ZERO;
- } catch( Exception e ) {
- LToolkit.createLog(e.toString(), ErrorLevel.ERROR);
- return BigDecimal.ZERO;
- }
- }
- /* Set user's shift */
- public void setUserShift( CashierShifts cashier, UserAccounts user ) {
- /* Update existing Cashier Shift */
- if ( cashier != null ) {
- CashierShifts shift = cashier;
- shift.setActive(true);
- shift.setTotalSalesAmount(shift.getTotalSalesAmount());
- shift.setTerminalId(getTerminal());
- obj.getEm().getTransaction().begin();
- obj.getEm().persist(shift);
- obj.getEm().getTransaction().commit();
- }
- /* New Cashier Shift */
- else if ( cashier == null ) {
- CashierShifts shift = new CashierShifts();
- //shift.setId(new NextCashierShiftIdCalculator().calculate());
- shift.setId(shift.getId());
- shift.setTerminalId(getTerminal());
- shift.setActive(true);
- shift.setCashierId(user);
- shift.setStartDateTimeCashier(new Date());
- shift.setTotalSalesAmount(shift.getTotalSalesAmount());
- obj.getEm().getTransaction().begin();
- obj.getEm().persist(shift);
- obj.getEm().getTransaction().commit();
- }
- }
- /*
- * PosTerminals Entity instance
- */
- /* Return PosTerminals instance */
- public PosTerminals getTerminal() {
- try {
- Query query = obj.getEm().createQuery(
- "FROM PosTerminals p " +
- "WHERE p.name = :name");
- query.setParameter("name", obj.getTerminalName());
- return (PosTerminals) query.getSingleResult();
- } catch( NoResultException nre ) {
- LToolkit.createLog("Terminal was not configured or has incorrect value at system configuration.", ErrorLevel.WARNING);
- JOptionPane.showMessageDialog(null, "Terminal not found! See logs for more information.", "Configuration Error!", JOptionPane.WARNING_MESSAGE);
- System.exit(1);
- return null;
- } catch( Exception e ) {
- LToolkit.createLog(e.toString(), ErrorLevel.WARNING);
- return null;
- }
- }
- public Integer getTerminalIdByName( String name ) {
- try {
- Query query = obj.getEm().createQuery(
- "SELECT p.id FROM PosTerminals p " +
- "WHERE p.name = :name");
- query.setParameter("name", name);
- return (Integer) query.getSingleResult();
- } catch( NoResultException nre ) {
- return -1;
- } catch( Exception e ) {
- LToolkit.createLog(e.toString(), ErrorLevel.WARNING);
- return -1;
- }
- }
- /*
- * Inventory Entity instance
- */
- /* Check if item exists */
- public boolean isItem( String code ) {
- try {
- Query query = obj.getEm().createQuery(
- "SELECT i.id FROM Inventories i " +
- "WHERE i.code = :code");
- query.setParameter("code", code);
- return query.getSingleResult() != null;
- } catch( NoResultException nre ) {
- return false;
- } catch( Exception e ) {
- LToolkit.createLog(e.toString(), ErrorLevel.WARNING);
- return false;
- }
- }
- /* Returns Inventory instance by code */
- public Inventories getItems() {
- try {
- Query query = obj.getEm().createQuery(
- "FROM Inventories i");
- return (Inventories) query.getSingleResult();
- } catch( NoResultException nre ) {
- return null;
- } catch( Exception e ) {
- LToolkit.createLog(e.toString(), ErrorLevel.WARNING);
- return null;
- }
- }
- public Inventories getItemByCode( String code ) {
- try {
- Query query = obj.getEm().createQuery(
- "FROM Inventories i " +
- "WHERE i.code = :code");
- query.setParameter("code", code);
- return (Inventories) query.getSingleResult();
- } catch( NoResultException nre ) {
- return null;
- } catch( Exception e ) {
- LToolkit.createLog(e.toString(), ErrorLevel.WARNING);
- return null;
- }
- }
- /* Returns item name by code */
- public String getItemNameByCode( String code ) {
- try {
- Query query = obj.getEm().createQuery(
- "SELECT i.name FROM Inventories i " +
- "WHERE i.code = :code");
- query.setParameter("code", code);
- return (String) query.getSingleResult();
- } catch( NoResultException nre ) {
- return null;
- } catch( Exception e ) {
- LToolkit.createLog(e.toString(), ErrorLevel.WARNING);
- return null;
- }
- }
- public String getItemCodeByName( String name ) {
- try {
- Query query = obj.getEm().createQuery(
- "SELECT i.code FROM Inventories i " +
- "WHERE i.name = :name");
- query.setParameter("name", name);
- return query.getSingleResult().toString();
- } catch( NoResultException nre ) {
- return null;
- } catch( Exception e ) {
- LToolkit.createLog(e.toString(), ErrorLevel.WARNING);
- return null;
- }
- }
- public Vector<String> getItemNameListByName( String name ) {
- Vector<String> v = new Vector<>();
- try {
- Query query = obj.getEm().createQuery(
- "SELECT i.name FROM Inventories i " +
- "WHERE i.name LIKE :name");
- query.setParameter("name", name + "%");
- for ( Object record : query.getResultList() ) {
- v.addElement(record.toString());
- }
- return v;
- } catch( NoResultException nre ) {
- return v;
- } catch( Exception e ) {
- LToolkit.createLog(e.toString(), ErrorLevel.WARNING);
- return v;
- }
- }
- public Vector<String> getItemNameListVector() {
- Vector<String> v = new Vector<>();
- try {
- Query query = obj.getEm().createQuery(
- "SELECT i.name FROM Inventories i");
- for ( Object record : query.getResultList() ) {
- v.addElement(record.toString());
- }
- return v;
- } catch( NoResultException nre ) {
- return v;
- } catch( Exception e ) {
- LToolkit.createLog(e.toString(), ErrorLevel.WARNING);
- return v;
- }
- }
- /*
- * Customer Entity instance
- */
- /* Check is scanned code is customer */
- public boolean isCustomer( String uid ) {
- try {
- Query query = obj.getEm().createQuery(
- "SELECT c.id FROM Customers c " +
- "WHERE c.cardUid = :uid");
- query.setParameter("uid", uid);
- return query.getSingleResult() != null;
- } catch( NoResultException nre ) {
- return false;
- } catch( Exception e ) {
- LToolkit.createLog(e.toString(), ErrorLevel.WARNING);
- return false;
- }
- }
- public boolean isCustomerActive( String uid ) {
- try {
- Query query = obj.getEm().createQuery(
- "SELECT c.active FROM Customer c " +
- "WHERE c.uid = :uid");
- query.setParameter("uid", uid);
- return (boolean) query.getSingleResult();
- } catch( NoResultException nre ) {
- return false;
- } catch( Exception e ) {
- LToolkit.createLog(e.toString(), ErrorLevel.WARNING);
- return false;
- }
- }
- public Customers getCurrentCustomer() {
- try {
- Query query = obj.getEm().createQuery(
- "FROM Customers c " +
- "WHERE c.cardUid = :uid");
- query.setParameter("uid", obj.getSearchedCustomerUid());
- return (Customers) query.getSingleResult();
- } catch( NoResultException nre ) {
- return null;
- } catch( Exception e ) {
- LToolkit.createLog(e.toString(), ErrorLevel.WARNING);
- return null;
- }
- }
- public ArrayList<String> getCustomerListArrayList() {
- ArrayList<String> a = new ArrayList<>();
- try {
- Query query = obj.getEm().createQuery(
- "SELECT c.id FROM Customers c");
- for ( Object record : query.getResultList() ) {
- a.add(getCustomerNameById((Integer) record, FullName.LastNameFirst));
- }
- return a;
- } catch( NoResultException nre ) {
- return a;
- } catch( Exception e ) {
- LToolkit.createLog(e.toString(), ErrorLevel.WARNING);
- return a;
- }
- }
- public String getCustomerNameByUid( String uid, FullName fullName ) {
- try {
- Query qry_firstName = obj.getEm().createQuery(
- "SELECT c.firstName FROM Customers c " +
- "WHERE c.cardUid = :uid");
- Query qry_lastName = obj.getEm().createQuery(
- "SELECT c.lastName FROM Customers c " +
- "WHERE c.cardUid = :uid");
- qry_firstName.setParameter("uid", uid);
- qry_lastName.setParameter("uid", uid);
- String normalize = LToolkit.normalizeName(qry_firstName.getSingleResult().toString(), qry_lastName.getSingleResult().toString(), fullName);
- return fullName == FullName.NameOnly ? normalize : normalize + "\t\t" + uid;
- } catch( NoResultException nre ) {
- return "Lieze.09";
- } catch( Exception e ) {
- LToolkit.createLog(e.toString(), ErrorLevel.WARNING);
- return "Lieze.09";
- }
- }
- public String getCustomerNameById( Integer id, FullName fullName ) {
- try {
- Query qry_firstName = obj.getEm().createQuery(
- "SELECT c.firstName FROM Customers c " +
- "WHERE c.id = :id");
- Query qry_lastName = obj.getEm().createQuery(
- "SELECT c.lastName FROM Customers c " +
- "WHERE c.id = :id");
- qry_firstName.setParameter("id", id);
- qry_lastName.setParameter("id", id);
- String normalize = LToolkit.normalizeName(qry_firstName.getSingleResult().toString(), qry_lastName.getSingleResult().toString(), fullName);
- return fullName == FullName.NameOnly ? normalize : normalize + "\t\t" + getCustomerUidById(id);
- } catch( NoResultException nre ) {
- return "TUP Manila";
- } catch( Exception e ) {
- LToolkit.createLog(e.toString(), ErrorLevel.WARNING);
- return "TUP Manila";
- }
- }
- public String getCustomerUidById( Integer id ) {
- try {
- Query query = obj.getEm().createQuery(
- "SELECT c.cardUid FROM Customers c " +
- "WHERE c.id = :id");
- query.setParameter("id", id);
- return query.getSingleResult().toString();
- } catch( NoResultException nre ) {
- return null;
- } catch( Exception e ) {
- LToolkit.createLog(e.toString(), ErrorLevel.WARNING);
- return null;
- }
- }
- public BigDecimal getCustomerCashByUid( String uid ) {
- try {
- Query query = obj.getEm().createQuery(
- "SELECT c.cashFund FROM Customers c " +
- "WHERE c.cardUid = :uid");
- query.setParameter("uid", uid);
- return (BigDecimal) query.getSingleResult();
- } catch( NoResultException nre ) {
- return BigDecimal.ZERO;
- } catch( Exception e ) {
- LToolkit.createLog(e.toString(), ErrorLevel.WARNING);
- return BigDecimal.ZERO;
- }
- }
- public byte[] getCustomerPhotoByUid( String uid ) {
- try {
- Query query = obj.getEm().createQuery(
- "SELECT c.customerPhoto FROM Customers c " +
- "WHERE c.cardUid = :uid");
- query.setParameter("uid", uid);
- return (byte[]) query.getSingleResult();
- } catch( NoResultException nre ) {
- return null;
- } catch( Exception e ) {
- LToolkit.createLog(e.toString(), ErrorLevel.WARNING);
- return null;
- }
- }
- public String getCustomerGenderByUid( String uid ) {
- try {
- Query query = obj.getEm().createQuery(
- "SELECT c.gender FROM Customers c " +
- "WHERE c.cardUid = :uid");
- query.setParameter("uid", uid);
- return query.getSingleResult().toString();
- } catch( NoResultException nre ) {
- return null;
- } catch( Exception e ) {
- LToolkit.createLog(e.toString(), ErrorLevel.WARNING);
- return null;
- }
- }
- public BigDecimal updateCurrentBalance( BigDecimal value, UpdateBalance balance ) {
- try {
- Query query = obj.getEm().createQuery(
- "FROM Customers c " +
- "WHERE c.cardUid = :uid");
- query.setParameter("uid", obj.getSearchedCustomerUid());
- Customers customer = (Customers) query.getSingleResult();
- BigDecimal currentBalance = customer.getCashFund();
- BigDecimal newBalance = balance == UpdateBalance.Increase ? currentBalance.add(value) : currentBalance.subtract(value);
- customer.setCashFund(newBalance);
- obj.getEm().getTransaction().begin();
- obj.getEm().persist(customer);
- obj.getEm().getTransaction().commit();
- return newBalance;
- } catch( NoResultException nre ) {
- return BigDecimal.ZERO;
- } catch( Exception e ) {
- LToolkit.createLog(e.toString(), ErrorLevel.WARNING);
- return BigDecimal.ZERO;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment