/** * Creates a new <code>AccountingEntryDialog</code> to let the user edit an existing entry. * * @param parent This dialog's parent frame. * @param modal Whether this dialog should be modal or not. * @param dbcon A connection to the database where the accounting information is stored. * @param ID The ID of the entry to be edited. * @see salssuite.server.module.AccountingModule#buildDatabase */ public AccountingEntryDialog(java.awt.Frame parent, boolean modal, Connection dbcon, int ID) { this(parent, modal, dbcon); this.ID = ID; // overwrite default values loaded in other constructor try { ResultSet entry = stmt.executeQuery("SELECT * FROM accounting " + "WHERE id = " + ID); entry.next(); date = entry.getString("date"); String[] dateParts = Util.parseDateString(date); dayInput.setText(dateParts[2]); monthInput.setText(dateParts[1]); yearInput.setText(dateParts[0]); time = entry.getString("time"); String[] timeParts = Util.parseTimeString(time); hourInput.setText(timeParts[0]); minutesInput.setText(timeParts[1]); secondsInput.setText(timeParts[2]); outgoInput.setText(entry.getString("outgo").replaceAll("-", "")); incomeInput.setText(entry.getString("income")); descriptionInput.setText(entry.getString("description")); } catch (SQLException e) { JOptionPane.showMessageDialog( this, "Fehler bei der Kommunikation mit der" + " Datenbank", "Netzwerkfehler", JOptionPane.ERROR_MESSAGE); e.printStackTrace(); return; } setTitle("Eintrag bearbeiten"); outgoInput.requestFocus(); }
/** * Sets the order represented by this component. The visual representation is done accordingly. * * @param orderID The order to be represented. * @param companyID The company which has ordered something. */ public void setOrder(int orderID, int companyID) { this.orderID = orderID; try { // fetch data from the database ResultSet order = stmt.executeQuery("SELECT * FROM orders WHERE " + "id = " + orderID); order.next(); // do visual representation IDDisplay.setText("" + orderID); companyInput.setText("" + order.getInt("companyId")); String[] date = Util.parseDateString(order.getString("date")); String[] time = Util.parseTimeString(order.getString("time")); if (!(date == null) && !(time == null)) { dayInput.setText(date[2]); monthInput.setText(date[1]); yearInput.setText(date[0]); hourInput.setText(time[0]); minuteInput.setText(time[1]); } if (order.getInt("processed") == 1) isOrderProcessedCheckbox.setSelected(true); else isOrderProcessedCheckbox.setSelected(false); if (order.getInt("paid") == 1) isOrderPaidCheckbox.setSelected(true); else isOrderPaidCheckbox.setSelected(false); // process the wares belonging to this order ResultSet orderedWares = stmt.executeQuery( "SELECT wareId, pieces FROM" + " orderParts WHERE orderId = " + orderID + " ORDER BY (wareId)"); while (orderedWares.next()) { Statement stmt2 = client.getDatabaseConnection().createStatement(); ResultSet ware = stmt2.executeQuery( "SELECT name FROM goods " + "WHERE id = " + orderedWares.getInt("wareId")); ware.next(); // new entry for ware display String wareEntry = ""; wareEntry += orderedWares.getInt("wareId") + " // "; wareEntry += ware.getString("name") + " // "; wareEntry += orderedWares.getInt("pieces"); wareListModel.addElement(wareEntry); } } catch (SQLException e) { JOptionPane.showMessageDialog( client, "Fehler bei der Kommunikation" + "mit der Datenbank.", "Netzwerkfehler", JOptionPane.ERROR_MESSAGE); e.printStackTrace(); return; } // update total numbers updateTotalNumbers(); }