📄 jpanelticket.java
字号:
oLine.setPrice(Math.abs(oLine.getPrice())); paintTicketLine(i, oLine); } // Ponemos n productos negativos a la linea seleccionada } else if (cTrans == '-' && m_iNumberStatusInput == NUMBERZERO && m_iNumberStatusPor == NUMBERVALID) { int i = m_ticketlines.getSelectedIndex(); if (i < 0){ Toolkit.getDefaultToolkit().beep(); } else { double dPor = getPorValue(); TicketLineInfo oLine = m_oTicket.getLine(i); oLine.setMultiply(dPor); oLine.setPrice(-Math.abs(oLine.getPrice())); paintTicketLine(i, oLine); } // Anadimos 1 producto } else if (cTrans == '+' && m_iNumberStatusInput == NUMBERVALID && m_iNumberStatusPor == NUMBERZERO) { addTicketLine(getInputProduct(), 1.0, includeTaxes(getInputValue())); // Anadimos 1 producto con precio negativo } else if (cTrans == '-' && m_iNumberStatusInput == NUMBERVALID && m_iNumberStatusPor == NUMBERZERO) { addTicketLine(getInputProduct(), 1.0, -includeTaxes(getInputValue())); // Anadimos n productos } else if (cTrans == '+' && m_iNumberStatusInput == NUMBERVALID && m_iNumberStatusPor == NUMBERVALID) { addTicketLine(getInputProduct(), getPorValue(), includeTaxes(getInputValue())); // Anadimos n productos con precio negativo ? } else if (cTrans == '-' && m_iNumberStatusInput == NUMBERVALID && m_iNumberStatusPor == NUMBERVALID) { addTicketLine(getInputProduct(), getPorValue(), -includeTaxes(getInputValue())); // Totals() Igual; } else if (cTrans == ' ' || cTrans == '=') { if (m_oTicket.getLinesCount() > 0) { // Muestro el total printTicket("Printer.TicketTotal"); SwingUtilities.invokeLater(new Runnable() { public void run() { // Elijo el pago, se asigna al ticket y devuelve el recurso de impresora seleccionado String sresourcename = JPaymentSelect.showMessage(JPanelTicket.this, m_App, m_oTicket); if (sresourcename != null) { // Han pulsado aceptar. // Asigno los valores definitivos del ticket... m_oTicket.setUser(m_User.getUser().getName()); // El usuario que lo cobra m_oTicket.setActiveCash(m_App.getActiveCashIndex()); m_oTicket.setDate(new Date()); // Le pongo la fecha de cobro // Imprimo el ticket que quiere que se imprima la ventana de tickets... printTicket(sresourcename); m_ticketsbag.saveTicket(); m_ticketsbag.cancelTicket(); } } }); } else { Toolkit.getDefaultToolkit().beep(); }// No debe pitar por teclas invalidas, no vaya a ser que sea un codigo de barras // } else {// Toolkit.getDefaultToolkit().beep(); } } } private void printTicket(String sresourcename) { String sresource = m_App.lookupDataLogic(DataLogicSystem.class).getResourceAsXML(sresourcename); if (sresource == null) { MessageInf msg = new MessageInf(MessageInf.SGN_WARNING, AppLocal.getIntString("message.cannotprintticket")); msg.show(JPanelTicket.this); } else { try { ScriptEngine script = ScriptFactory.getScriptEngine(ScriptFactory.VELOCITY); script.put("ticket", m_oTicket); script.put("place", m_oTicketExt); m_TTP.printTicket(script.eval(sresource).toString()); } catch (ScriptException e) { MessageInf msg = new MessageInf(MessageInf.SGN_WARNING, AppLocal.getIntString("message.cannotprintticket"), e); msg.show(JPanelTicket.this); } catch (TicketPrinterException e) { MessageInf msg = new MessageInf(MessageInf.SGN_WARNING, AppLocal.getIntString("message.cannotprintticket"), e); msg.show(JPanelTicket.this); } } } private void visorTicketLine(TicketLineInfo oLine){ if (oLine == null) { m_App.getDeviceTicket().clearVisor(); } else { try { ScriptEngine script = ScriptFactory.getScriptEngine(ScriptFactory.VELOCITY); script.put("ticketline", oLine); m_TTP.printTicket(script.eval(m_App.lookupDataLogic(DataLogicSystem.class).getResourceAsXML("Printer.TicketLine")).toString()); } catch (ScriptException e) { MessageInf msg = new MessageInf(MessageInf.SGN_WARNING, AppLocal.getIntString("message.cannotprintline"), e); msg.show(JPanelTicket.this); } catch (TicketPrinterException e) { MessageInf msg = new MessageInf(MessageInf.SGN_WARNING, AppLocal.getIntString("message.cannotprintline"), e); msg.show(JPanelTicket.this); } } } private static double signum(double value) { if (value > 0.0) return 1.0; if (value < 0.0) return -1.0; return 0.0; } public class ScriptObject { public double getInputValue() { if (m_iNumberStatusInput == NUMBERVALID && m_iNumberStatusPor == NUMBERZERO) { return JPanelTicket.this.getInputValue(); } else { return 0.0; } } public TicketInfo getTicket() { return m_oTicket; } public TicketLineInfo getSelectedLine() { int i = m_ticketlines.getSelectedIndex(); if (i < 0){ return null; } else { return m_oTicket.getLine(i); } } public void addTicketLine(String sname, TaxInfo tax, double dmult, double dpricesell) { ProductInfoExt oProduct = new ProductInfoExt(); // Es un ticket oProduct.setReference(null); oProduct.setCode(null); oProduct.setName(sname); oProduct.setPriceSell(dpricesell); oProduct.setTaxInfo(tax); JPanelTicket.this.addTicketLine(oProduct, dmult, dpricesell); } public void printTicket(String sresourcename) { JPanelTicket.this.printTicket(sresourcename); } public String getResourceAsXML(String sresourcename) { return m_App.lookupDataLogic(DataLogicSystem.class).getResourceAsXML(sresourcename); } } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the FormEditor. */ // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents private void initComponents() { java.awt.GridBagConstraints gridBagConstraints; m_jPanContainer = new javax.swing.JPanel(); m_jOptions = new javax.swing.JPanel(); m_jButtons = new javax.swing.JPanel(); m_lblTicketId = new javax.swing.JLabel(); m_jTicketId = new javax.swing.JLabel(); m_jPanelBag = new javax.swing.JPanel(); m_jButtonsExt = new javax.swing.JPanel(); jPanel1 = new javax.swing.JPanel(); m_jbtnScale = new javax.swing.JButton(); m_jPanTicket = new javax.swing.JPanel(); jPanel5 = new javax.swing.JPanel(); jPanel2 = new javax.swing.JPanel(); m_jUp = new javax.swing.JButton(); m_jDown = new javax.swing.JButton(); m_jDelete = new javax.swing.JButton(); m_jList = new javax.swing.JButton(); m_jList1 = new javax.swing.JButton(); m_jPanelCentral = new javax.swing.JPanel(); jPanel4 = new javax.swing.JPanel(); m_jPanTotals = new javax.swing.JPanel(); m_jTotalEuros = new javax.swing.JLabel(); m_jLblTotalEuros1 = new javax.swing.JLabel(); m_jSubtotalEuros = new javax.swing.JLabel(); m_jTaxesEuros = new javax.swing.JLabel(); m_jLblTotalEuros2 = new javax.swing.JLabel(); m_jLblTotalEuros3 = new javax.swing.JLabel(); m_jContEntries = new javax.swing.JPanel(); m_jPanEntries = new javax.swing.JPanel(); m_jNumberKeys = new net.adrianromero.beans.JNumberKeys(); jPanel9 = new javax.swing.JPanel(); m_jPrice = new javax.swing.JLabel(); m_jPor = new javax.swing.JLabel(); m_jEnter = new javax.swing.JButton(); m_jTax = new javax.swing.JComboBox(); m_jaddtax = new javax.swing.JToggleButton(); m_jKeyFactory = new javax.swing.JTextField(); setLayout(new java.awt.CardLayout()); setBackground(new java.awt.Color(255, 204, 153)); m_jPanContainer.setLayout(new java.awt.BorderLayout()); m_jOptions.setLayout(new java.awt.BorderLayout()); m_jButtons.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.LEFT)); m_lblTicketId.setText(AppLocal.getIntString("label.ticketid")); m_jButtons.add(m_lblTicketId); m_jTicketId.setBackground(java.awt.Color.white); m_jTicketId.setFont(new java.awt.Font("Dialog", 1, 14)); m_jTicketId.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); m_jTicketId.setBorder(javax.swing.BorderFactory.createCompoundBorder(javax.swing.BorderFactory.createLineBorder(javax.swing.UIManager.getDefaults().getColor("Button.darkShadow")), javax.swing.BorderFactory.createEmptyBorder(1, 4, 1, 4))); m_jTicketId.setOpaque(true); m_jTicketId.setPreferredSize(new java.awt.Dimension(75, 25)); m_jTicketId.setRequestFocusEnabled(false); m_jButtons.add(m_jTicketId); m_jOptions.add(m_jButtons, java.awt.BorderLayout.WEST); m_jPanelBag.setLayout(new java.awt.BorderLayout()); m_jButtonsExt.setLayout(new javax.swing.BoxLayout(m_jButtonsExt, javax.swing.BoxLayout.X_AXIS)); m_jbtnScale.setText("B\u00e1scula"); m_jbtnScale.setFocusPainted(false); m_jbtnScale.setFocusable(false); m_jbtnScale.setMargin(new java.awt.Insets(8, 14, 8, 14)); m_jbtnScale.setRequestFocusEnabled(false); m_jbtnScale.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { m_jbtnScaleActionPerformed(evt); } }); jPanel1.add(m_jbtnScale); m_jButtonsExt.add(jPanel1); m_jPanelBag.add(m_jButtonsExt, java.awt.BorderLayout.EAST); m_jOptions.add(m_jPanelBag, java.awt.BorderLayout.CENTER); m_jPanContainer.add(m_jOptions, java.awt.BorderLayout.NORTH); m_jPanTicket.setLayout(new java.awt.BorderLayout()); m_jPanTicket.setBorder(javax.swing.BorderFactory.createEmptyBorder(5, 5, 5, 5)); jPanel5.setLayout(new java.awt.BorderLayout()); jPanel2.setLayout(new java.awt.GridLayout(0, 1, 5, 5)); jPanel2.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 5, 0, 0)); m_jUp.setIcon(new javax.swing.ImageIcon(getClass().getResource("/net/adrianromero/images/1uparrow22.png"))); m_jUp.setFocusPainted(false); m_jUp.setFocusable(false); m_jUp.setMargin(new java.awt.Insets(8, 14, 8, 14)); m_jUp.setRequestFocusEnabled(false); m_jUp.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { m_jUpActionPerformed(evt); } }); jPanel2.add(m_jUp); m_jDown.setIcon(new javax.swing.ImageIcon(getClass().getResource("/net/adrianromero/images/1downarrow22.png"))); m_jDown.setFocusPainted(false); m_jDown.setFocusable(false); m_jDown.setMargin(new java.awt.Insets(8, 14, 8, 14)); m_jDown.setRequestFocusEnabled(false); m_jDown.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { m_jDownActionPerformed(evt); } }); jPanel2.add(m_jDown); m_jDelete.setIcon(new javax.swing.ImageIcon(getClass().getResource("/net/adrianromero/images/locationbar_erase.png"))); m_jDelete.setFocusPainted(false); m_jDelete.setFocusable(false); m_jDelete.setMargin(new java.awt.Insets(8, 14, 8, 14)); m_jDelete.setRequestFocusEnabled(false); m_jDelete.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { m_jDeleteActionPerformed(evt); } }); jPanel2.add(m_jDelete); m_jList.setIcon(new javax.swing.ImageIcon(getClass().getResource("/net/adrianromero/images/search22.png"))); m_jList.setFocusPainted(false); m_jList.setFocusable(false); m_jList.setMargin(new java.awt.Insets(8, 14, 8, 14)); m_jList.setRequestFocusEnabled(false); m_jList.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { m_jListActionPerformed(evt); } }); jPanel2.add(m_jList); m_jList1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/net/adrianromero/images/color_line.png"))); m_jList1.setFocusPainted(false); m_jList1.setFocusable(false); m_jList1.setMargin(new java.awt.Insets(8, 14, 8, 14)); m_jList1.setRequestFocusEnabled(false);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -