private void processKey(char c) { if (c == '\n') { AppUser user = null; try { user = m_dlSystem.findPeopleByCard(inputtext.toString()); } catch (BasicException e) { e.printStackTrace(); } if (user == null) { // user not found MessageInf msg = new MessageInf(MessageInf.SGN_WARNING, AppLocal.getIntString("message.nocard")); msg.show(this); } else { openAppView(user); } inputtext = new StringBuffer(); } else { inputtext.append(c); } }
private void listPeople() { try { jScrollPane1.getViewport().setView(null); JFlowPanel jPeople = new JFlowPanel(); jPeople.applyComponentOrientation(getComponentOrientation()); java.util.List people = m_dlSystem.listPeopleVisible(); for (int i = 0; i < people.size(); i++) { AppUser user = (AppUser) people.get(i); JButton btn = new JButton(new AppUserAction(user)); btn.applyComponentOrientation(getComponentOrientation()); btn.setFocusPainted(false); btn.setFocusable(false); btn.setRequestFocusEnabled(false); btn.setHorizontalAlignment(SwingConstants.LEADING); btn.setMaximumSize(new Dimension(150, 50)); btn.setPreferredSize(new Dimension(150, 50)); btn.setMinimumSize(new Dimension(150, 50)); jPeople.add(btn); } jScrollPane1.getViewport().setView(jPeople); } catch (BasicException ee) { ee.printStackTrace(); } }
public void checkout(TicketInfo ticket, String place) throws BasicException { appView = AppViewImpl.getInstance(); DataLogicSales dlSales = appView.getBean(DataLogicSales.class); try { // reset the payment info TaxesLogic taxesLogic = new TaxesLogic(dlSales.getTaxList().list()); taxesLogic.calculateTaxes(ticket); if (ticket.getTotal() >= 0.0) { ticket.resetPayments(); // Only reset if is sale } // assign the payments selected and calculate taxes. List<PaymentInfo> payments = new ArrayList<PaymentInfo>(); payments.add(new PaymentInfoCash(ticket.getTotal(), ticket.getTotalPaid())); ticket.setPayments(payments); // Asigno los valores definitivos del ticket... ticket.setUser(appView.getAppUserView().getUser().getUserInfo()); // El usuario que lo cobra ticket.setActiveCash(appView.getActiveCashIndex()); ticket.setDate(new Date()); // Le pongo la fecha de cobro // Save the receipt and assign a receipt number try { dlSales.saveTicket(ticket, appView.getInventoryLocation()); } catch (BasicException eData) { eData.printStackTrace(); } } catch (TaxesException e) { e.printStackTrace(); } }
public void search() { try { jListProducts.setModel(new MyListData(lpr.loadData())); if (jListProducts.getModel().getSize() > 0) { jListProducts.setSelectedIndex(0); } } catch (BasicException e) { new MessageInf(MessageInf.SGN_WARNING, "Error", e).show(this); e.printStackTrace(); } }
public boolean executeSentence(BaseSentence sent, Object params) { CardLayout cl = (CardLayout) (getLayout()); try { DataResultSet rs = sent.openExec(params); if (rs.updateCount() < 0) { cl.show(this, "resultset"); DataField[] df = rs.getDataField(); SQLTableModel sqlresult = new SQLTableModel(df); while (rs.next()) { sqlresult.addRow(rs); } rs.close(); sent.closeExec(); m_jTableResult.setModel(sqlresult); } else { cl.show(this, "updatecount"); m_txtResulltText.setText("Update count: " + Integer.toString(rs.updateCount())); m_txtResulltText.setCaretPosition(0); } return true; } catch (BasicException e) { cl.show(this, "updatecount"); StringWriter w = new StringWriter(); e.printStackTrace(new PrintWriter(w)); m_txtResulltText.setText(w.toString()); m_txtResulltText.setCaretPosition(0); // e.printStackTrace(); return false; } }
public boolean initApp(AppProperties props) { m_props = props; // setPreferredSize(new java.awt.Dimension(800, 600)); // support for different component orientation languages. applyComponentOrientation(ComponentOrientation.getOrientation(Locale.getDefault())); // Database start try { session = AppViewConnection.createSession(m_props); } catch (BasicException e) { JMessageDialog.showMessage(this, new MessageInf(MessageInf.SGN_DANGER, e.getMessage(), e)); return false; } m_dlSystem = (DataLogicSystem) getBean("com.openbravo.pos.forms.DataLogicSystem"); // Create or upgrade the database if database version is not the expected String sDBVersion = readDataBaseVersion(); if (!AppLocal.APP_VERSION.equals(sDBVersion)) { // Create or upgrade database String sScript = sDBVersion == null ? m_dlSystem.getInitScript() + "-create.sql" : m_dlSystem.getInitScript() + "-upgrade-" + sDBVersion + ".sql"; if (JRootApp.class.getResource(sScript) == null) { JMessageDialog.showMessage( this, new MessageInf( MessageInf.SGN_DANGER, sDBVersion == null ? AppLocal.getIntString( "message.databasenotsupported", session.DB .getName()) // Create script does not exists. Database not supported : AppLocal.getIntString( "message.noupdatescript"))); // Upgrade script does not exist. session.close(); return false; } else { // Create or upgrade script exists. if (JOptionPane.showConfirmDialog( this, AppLocal.getIntString( sDBVersion == null ? "message.createdatabase" : "message.updatedatabase"), AppLocal.getIntString("message.title"), JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE) == JOptionPane.YES_OPTION) { try { BatchSentence bsentence = new BatchSentenceResource(session, sScript); bsentence.putParameter("APP_ID", Matcher.quoteReplacement(AppLocal.APP_ID)); bsentence.putParameter("APP_NAME", Matcher.quoteReplacement(AppLocal.APP_NAME)); bsentence.putParameter("APP_VERSION", Matcher.quoteReplacement(AppLocal.APP_VERSION)); java.util.List l = bsentence.list(); if (l.size() > 0) { JMessageDialog.showMessage( this, new MessageInf( MessageInf.SGN_WARNING, AppLocal.getIntString("Database.ScriptWarning"), l.toArray(new Throwable[l.size()]))); } } catch (BasicException e) { JMessageDialog.showMessage( this, new MessageInf( MessageInf.SGN_DANGER, AppLocal.getIntString("Database.ScriptError"), e)); session.close(); return false; } } else { session.close(); return false; } } } // Cargamos las propiedades de base de datos m_propsdb = m_dlSystem.getResourceAsProperties(m_props.getHost() + "/properties"); // creamos la caja activa si esta no existe try { String sActiveCashIndex = m_propsdb.getProperty("activecash"); Object[] valcash = sActiveCashIndex == null ? null : m_dlSystem.findActiveCash(sActiveCashIndex); if (valcash == null || !m_props.getHost().equals(valcash[0])) { // no la encuentro o no es de mi host por tanto creo una... setActiveCash( UUID.randomUUID().toString(), m_dlSystem.getSequenceCash(m_props.getHost()) + 1, new Date(), null); // creamos la caja activa m_dlSystem.execInsertCash( new Object[] { getActiveCashIndex(), m_props.getHost(), getActiveCashSequence(), getActiveCashDateStart(), getActiveCashDateEnd() }); } else { setActiveCash(sActiveCashIndex, (Integer) valcash[1], (Date) valcash[2], (Date) valcash[3]); } } catch (BasicException e) { // Casco. Sin caja no hay pos MessageInf msg = new MessageInf( MessageInf.SGN_NOTICE, AppLocal.getIntString("message.cannotclosecash"), e); msg.show(this); session.close(); return false; } // Leo la localizacion de la caja (Almacen). m_sInventoryLocation = m_propsdb.getProperty("location"); if (m_sInventoryLocation == null) { m_sInventoryLocation = "0"; m_propsdb.setProperty("location", m_sInventoryLocation); m_dlSystem.setResourceAsProperties(m_props.getHost() + "/properties", m_propsdb); } // Inicializo la impresora... m_TP = new DeviceTicket(this, m_props); // Inicializamos m_TTP = new TicketParser(getDeviceTicket(), m_dlSystem); printerStart(); // Inicializamos la bascula m_Scale = new DeviceScale(this, m_props); // Inicializamos la scanpal m_Scanner = DeviceScannerFactory.createInstance(m_props); // Leemos los recursos basicos BufferedImage imgicon = m_dlSystem.getResourceAsImage("Window.Logo"); m_jLblTitle.setIcon(imgicon == null ? null : new ImageIcon(imgicon)); m_jLblTitle.setText(m_dlSystem.getResourceAsText("Window.Title")); String sWareHouse; try { sWareHouse = m_dlSystem.findLocationName(m_sInventoryLocation); } catch (BasicException e) { sWareHouse = null; // no he encontrado el almacen principal } // Show Hostname, Warehouse and URL in taskbar String url; try { url = session.getURL(); } catch (SQLException e) { url = ""; } m_jHost.setText("<html>" + m_props.getHost() + " - " + sWareHouse + "<br>" + url); showLogin(); return true; }