From b7efaec6c84d44a2979f541056303165206607df Mon Sep 17 00:00:00 2001 From: Heng Sin Low Date: Sun, 25 Feb 2007 08:44:45 +0000 Subject: [PATCH] * [ 1639249 ] Complete the POS implementation - Now can print and complete a order Pending: - Cash drawer and receipt printer support, to consolidate with Posterita code. - Multi payment type support, openXpertya code only support cash payment type. Again, to consolidate with Posterita work. - Cash drawer movement, some openXpertya customization to be ported over. --- client/src/org/compiere/pos/SubCheckout.java | 39 +++++++++++++++----- 1 file changed, 29 insertions(+), 10 deletions(-) diff --git a/client/src/org/compiere/pos/SubCheckout.java b/client/src/org/compiere/pos/SubCheckout.java index 6dc4f2390b..a3a364ff81 100644 --- a/client/src/org/compiere/pos/SubCheckout.java +++ b/client/src/org/compiere/pos/SubCheckout.java @@ -25,6 +25,8 @@ import javax.swing.border.TitledBorder; import org.compiere.swing.*; import org.compiere.grid.ed.VNumber; import org.compiere.model.MOrder; +import org.compiere.print.ReportCtl; +import org.compiere.print.ReportEngine; import org.compiere.process.*; import org.compiere.util.*; @@ -148,7 +150,7 @@ public class SubCheckout extends PosSubPanel implements ActionListener add(caja,gbc); caja.setPreferredSize(new Dimension(30,30)); f_cashRegisterFunctions = createButtonAction("CashRegisterFunction", null); - f_cashRegisterFunctions.setText("Cash Register\n Movements"); + f_cashRegisterFunctions.setText("Cash Drawer\n Movements"); f_cashRegisterFunctions.setPreferredSize(new Dimension(160,30)); f_cashRegisterFunctions.setMaximumSize(new Dimension(160,30)); f_cashRegisterFunctions.setMinimumSize(new Dimension(160,30)); @@ -244,27 +246,35 @@ public class SubCheckout extends PosSubPanel implements ActionListener else if (action.equals("Summary")) { - //TODO: new field added by openxpertya to c_order - //p_posPanel.f_status.setStatusLine(p_posPanel.f_curLine.getOrder().getResumen()); - displayReturn(); + displaySummary(); } else if (action.equals("Process")) { if (isOrderFullyPay()) { + displaySummary(); printTicket(); processOrder(); openCashDrawer(); } + else + { + p_posPanel.f_status.setStatusLine("Order not fully pay."); + } } // Print else if (action.equals("Print")) { if (isOrderFullyPay()) { + displaySummary(); printTicket(); openCashDrawer(); } + else + { + p_posPanel.f_status.setStatusLine("Order not fully pay."); + } } // Cash (Payment) else if (action.equals("Cash")) @@ -285,10 +295,14 @@ public class SubCheckout extends PosSubPanel implements ActionListener Log.print("CreditCard"); } fin del comentario para la Credit Card*/ - f_cashGiven.setValue(Env.ZERO); p_posPanel.updateInfo(); } // actionPerformed - + + private void displaySummary() { + p_posPanel.f_status.setStatusLine(p_posPanel.f_curLine.getOrder().getSummary()); + displayReturn(); + } + /** * Process Order * @author Comunidad de Desarrollo OpenXpertya @@ -298,6 +312,7 @@ public class SubCheckout extends PosSubPanel implements ActionListener public void processOrder() { + p_posPanel.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); MOrder order = p_posPanel.f_curLine.getOrder(); if (order != null) if (order.getDocStatus().equals("DR")) @@ -308,7 +323,9 @@ public class SubCheckout extends PosSubPanel implements ActionListener order = null; p_posPanel.newOrder(); + f_cashGiven.setValue(Env.ZERO); } + p_posPanel.setCursor(Cursor.getDefaultCursor()); } /** @@ -320,18 +337,20 @@ public class SubCheckout extends PosSubPanel implements ActionListener public void printTicket() { MOrder order = p_posPanel.f_curLine.getOrder(); - int ventana = p_posPanel.getWindowNo(); - Properties m_ctx = p_posPanel.getPropiedades(); + //int windowNo = p_posPanel.getWindowNo(); + //Properties m_ctx = p_posPanel.getPropiedades(); if (order != null) { try { - //TODO: to incorporate jpos work from Posterita + //TODO: to incorporate work from Posterita /* if (p_pos.getAD_PrintLabel_ID() != 0) PrintLabel.printLabelTicket(order.getC_Order_ID(), p_pos.getAD_PrintLabel_ID()); */ + //print standard document + ReportCtl.startDocumentPrint(ReportEngine.ORDER, order.getC_Order_ID(), true); } catch (Exception e) { @@ -395,7 +414,7 @@ public class SubCheckout extends PosSubPanel implements ActionListener public void openCashDrawer() { String puerto = null; - //TODO - to incorporate jpos work from Posterita + //TODO - to incorporate work from Posterita /* try {