📄 jpanelclosemoney.java
字号:
// Tina POS is a point of sales application designed for touch screens.// Copyright (C) 2005 Adrian Romero Corchado.// http://sourceforge.net/projects/tinapos//// This program is free software; you can redistribute it and/or modify// it under the terms of the GNU General Public License as published by// the Free Software Foundation; either version 2 of the License, or// (at your option) any later version.//// This program is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the// GNU General Public License for more details.//// You should have received a copy of the GNU General Public License// along with this program; if not, write to the Free Software// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USApackage net.adrianromero.tpv.panels;import net.adrianromero.tpv.forms.JPanelView;import net.adrianromero.tpv.forms.AppView;import net.adrianromero.tpv.forms.AppLocal;import java.awt.*;import java.text.ParseException;import javax.swing.*;import java.util.Date;import javax.swing.table.*;import net.adrianromero.data.loader.StaticSentence;import net.adrianromero.data.loader.SerializerWriteBasic;import net.adrianromero.format.Formats;import net.adrianromero.basic.BasicException;import net.adrianromero.data.loader.Datas;import net.adrianromero.data.gui.MessageInf;import net.adrianromero.data.gui.TableRendererBasic;import net.adrianromero.scripting.ScriptEngine;import net.adrianromero.scripting.ScriptException;import net.adrianromero.scripting.ScriptFactory;import net.adrianromero.tpv.forms.DataLogicSystem;import net.adrianromero.tpv.printer.TicketParser;import net.adrianromero.tpv.printer.TicketPrinterException;public class JPanelCloseMoney extends JPanel implements JPanelView { private AppView m_App; private PaymentsModel m_PaymentsToClose = null; private TicketParser m_TTP; /** Creates new form JPanelCloseMoney */ public JPanelCloseMoney(AppView oApp) { m_App = oApp; m_TTP = new TicketParser(m_App.getDeviceTicket(), m_App.lookupDataLogic(DataLogicSystem.class)); initComponents(); m_jTicketTable.setDefaultRenderer(Object.class, new TableRendererBasic( new Formats[] {new FormatsPayment(), Formats.CURRENCY})); m_jTicketTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); m_jScrollTableTicket.getVerticalScrollBar().setPreferredSize(new Dimension(25,25)); m_jTicketTable.getTableHeader().setReorderingAllowed(false); m_jTicketTable.setRowHeight(25); m_jTicketTable.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION); m_jsalestable.setDefaultRenderer(Object.class, new TableRendererBasic( new Formats[] {Formats.STRING, Formats.CURRENCY, Formats.CURRENCY})); m_jsalestable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); m_jScrollSales.getVerticalScrollBar().setPreferredSize(new Dimension(25,25)); m_jsalestable.getTableHeader().setReorderingAllowed(false); m_jsalestable.setRowHeight(25); m_jsalestable.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION); } public JComponent getComponent() { return this; } public String getTitle() { return AppLocal.getIntString("Menu.CloseTPV"); } public void activate() throws BasicException { loadData(); } public boolean deactivate() { // se me debe permitir cancelar el deactivate return true; } private void loadData() throws BasicException { // Reset m_jMinDate.setText(null); m_jMaxDate.setText(null); m_jCloseCash.setEnabled(false); m_jCount.setText(null); // AppLocal.getIntString("label.noticketstoclose"); m_jCash.setText(null); m_jSales.setText(null); m_jSalesSubtotal.setText(null); m_jSalesTotal.setText(null); m_jTicketTable.setModel(new DefaultTableModel()); m_jsalestable.setModel(new DefaultTableModel()); // LoadData m_PaymentsToClose = PaymentsModel.loadInstance(m_App); // Populate Data m_jMinDate.setText(m_PaymentsToClose.printDateStart()); m_jMaxDate.setText(m_PaymentsToClose.printDateEnd()); if (m_PaymentsToClose.getPayments() != 0 || m_PaymentsToClose.getSales() != 0) { m_jCloseCash.setEnabled(true); m_jCount.setText(m_PaymentsToClose.printPayments()); m_jCash.setText(m_PaymentsToClose.printPaymentsTotal()); m_jSales.setText(m_PaymentsToClose.printSales()); m_jSalesSubtotal.setText(m_PaymentsToClose.printSalesSubtotal()); m_jSalesTotal.setText(m_PaymentsToClose.printSalesTotal()); } m_jTicketTable.setModel(m_PaymentsToClose.getPaymentsModel()); TableColumnModel jColumns = m_jTicketTable.getColumnModel(); jColumns.getColumn(0).setPreferredWidth(150); jColumns.getColumn(0).setResizable(false); jColumns.getColumn(1).setPreferredWidth(100); jColumns.getColumn(1).setResizable(false);// jColumns.getColumn(2).setPreferredWidth(100);// jColumns.getColumn(2).setResizable(false);// jColumns.getColumn(3).setPreferredWidth(100);// jColumns.getColumn(3).setResizable(false); m_jsalestable.setModel(m_PaymentsToClose.getSalesModel()); jColumns = m_jsalestable.getColumnModel(); jColumns.getColumn(0).setPreferredWidth(150); jColumns.getColumn(0).setResizable(false); jColumns.getColumn(1).setPreferredWidth(100); jColumns.getColumn(1).setResizable(false); jColumns.getColumn(1).setPreferredWidth(100); jColumns.getColumn(1).setResizable(false); } private void printPayments() { String sresource = m_App.lookupDataLogic(DataLogicSystem.class).getResourceAsXML("Printer.CloseCash"); if (sresource == null) { MessageInf msg = new MessageInf(MessageInf.SGN_WARNING, AppLocal.getIntString("message.cannotprintticket")); msg.show(this); } else { try { ScriptEngine script = ScriptFactory.getScriptEngine(ScriptFactory.VELOCITY); script.put("payments", m_PaymentsToClose); m_TTP.printTicket(script.eval(sresource).toString()); } catch (ScriptException e) { MessageInf msg = new MessageInf(MessageInf.SGN_WARNING, AppLocal.getIntString("message.cannotprintticket"), e); msg.show(this); } catch (TicketPrinterException e) { MessageInf msg = new MessageInf(MessageInf.SGN_WARNING, AppLocal.getIntString("message.cannotprintticket"), e); msg.show(this); } } } private class FormatsPayment extends Formats { protected String formatValueInt(Object value) { return AppLocal.getIntString("transpayment." + (String) value); } protected Object parseValueInt(String value) throws ParseException { return value; } public int getAlignment() { return javax.swing.SwingConstants.LEFT; } } /** 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 Form Editor. */ // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents private void initComponents() { jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel(); m_jCount = new javax.swing.JTextField(); m_jMinDate = new javax.swing.JTextField(); m_jMaxDate = new javax.swing.JTextField(); m_jCash = new javax.swing.JTextField(); m_jCloseCash = new javax.swing.JButton(); m_jScrollTableTicket = new javax.swing.JScrollPane(); m_jTicketTable = new javax.swing.JTable();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -