private void txtSearchActionPerformed(ActionEvent e) { stock = StockTools.findByIDORScanner(txtSearch.getText()); if (stock != null) { if (stock.isAusgebucht() && !cbZombieRevive.isSelected()) { Tools.log( txtLog, stock.getId(), stock.getProdukt().getBezeichnung(), "Dieser Vorrat wurde bereits ausgebucht."); Tools.fadeout(lblProdukt); sp.error(); stock = null; } else { if (btnSofortUmbuchen.isSelected()) { umbuchen(); Tools.fadeinout( lblProdukt, "[" + stock.getId() + "] " + stock.getProdukt().getBezeichnung()); stock = null; } else { Tools.fadein( lblProdukt, "[" + stock.getId() + "] " + stock.getProdukt().getBezeichnung()); } } } else { Tools.log(txtLog, 0, txtSearch.getText(), "Unbekannte Vorrat Nummer."); Tools.fadeout(lblProdukt); sp.warning(); } btnUmbuchen.setEnabled(stock != null); txtSearch.selectAll(); txtSearch.requestFocus(); txtSearchChecked = true; }
private void btnAusbuchenActionPerformed(ActionEvent e) { EntityManager em = Main.getEMF().createEntityManager(); try { em.getTransaction().begin(); int[] rows = tblVorrat.getSelectedRows(); for (int r = 0; r < rows.length; r++) { // Diese Zeile ist sehr wichtig, da sie die Auswahl in der Tabelle bzgl. einer Umsortierung // berücksichtigt. int row = tblVorrat.convertRowIndexToModel(rows[r]); Stock stock = ((StockTableModel2) tblVorrat.getModel()).getVorrat(row); Main.logger.info("AUSBUCHEN STOCK: " + stock.toString()); Tools.log(txtLog, stock.getId(), stock.getProdukt().getBezeichnung(), "AUSGEBUCHT"); StockTools.ausbuchen(stock, "Abschlussbuchung"); } em.getTransaction().commit(); } catch (Exception e1) { em.getTransaction().rollback(); } finally { em.close(); loadVorratTable(); } }