private void doVoidTicket() { try { Ticket selectedTicket = getFirstSelectedTicket(); if (selectedTicket == null) { return; } if (!selectedTicket.getTotalAmount().equals(selectedTicket.getDueAmount())) { POSMessageDialog.showMessage(POSConstants.PARTIAL_PAID_VOID_ERROR); return; } Ticket ticketToVoid = TicketDAO.getInstance().loadFullTicket(selectedTicket.getId()); VoidTicketDialog voidTicketDialog = new VoidTicketDialog(Application.getPosWindow(), true); voidTicketDialog.setTicket(ticketToVoid); voidTicketDialog.open(); if (!voidTicketDialog.isCanceled()) { updateView(); } } catch (Exception e) { POSMessageDialog.showError(POSConstants.ERROR_MESSAGE, e); } }
private void doSplitTicket() { try { Ticket selectedTicket = getFirstSelectedTicket(); if (selectedTicket == null) { return; } if (!selectedTicket.getTotalAmount().equals(selectedTicket.getDueAmount())) { POSMessageDialog.showMessage(POSConstants.PARTIAL_PAID_VOID_ERROR); return; } // initialize the ticket. Ticket ticket = TicketDAO.getInstance().loadFullTicket(selectedTicket.getId()); SplitTicketDialog dialog = new SplitTicketDialog(); dialog.setTicket(ticket); dialog.open(); updateView(); } catch (Exception e) { POSMessageDialog.showError(POSConstants.ERROR_MESSAGE, e); } }
private void doReopenTicket() { try { int ticketId = NumberSelectionDialog2.takeIntInput(POSConstants.ENTER_TICKET_ID); if (ticketId == -1) { return; } Ticket ticket = TicketService.getTicket(ticketId); if (ticket == null) { throw new PosException( POSConstants.NO_TICKET_WITH_ID + " " + ticketId + " " + POSConstants.FOUND); } if (!ticket.isClosed()) { throw new PosException(POSConstants.TICKET_IS_NOT_CLOSED); } String ticketTotalAmount = Application.getCurrencySymbol() + " " + NumberUtil.formatToCurrency(ticket.getTotalAmount()); String amountMessage = "<span style='color: red; font-weight: bold;'>" + ticketTotalAmount + "</span>"; String message = "<html><body>Ticket amount is " + ticketTotalAmount + ". To reopen ticket, you need to refund that amount to system.<br/>Please press <b>OK</b> after you refund amount " + amountMessage + "</body></html>"; int option = JOptionPane.showOptionDialog( this, message, "Alert!", JOptionPane.OK_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE, null, null, null); if (option != JOptionPane.OK_OPTION) { return; } TicketService.refundTicket(ticket); editTicket(ticket); } catch (PosException e) { POSMessageDialog.showError(this, e.getLocalizedMessage()); } catch (Exception e) { POSMessageDialog.showError(this, POSConstants.ERROR_MESSAGE, e); } }