Save This Page
Home » openjdk-7 » net.sourceforge.wisim » controller » [javadoc | source]
    1   /*   ********************************************************************   **
    2   **   Copyright notice                                                       **
    3   **                                                                          **
    4   **   (c) 2003 WiSim Development Team					                              **
    5   **   http://wisim.sourceforge.net/   			                                  **
    6   **                                                                          **
    7   **   All rights reserved                                                    **
    8   **                                                                          **
    9   **   This script is part of the WiSim Business Game project. The WiSim      **
   10   **   project is free software; you can redistribute it and/or modify        **
   11   **   it under the terms of the GNU General Public License as published by   **
   12   **   the Free Software Foundation; either version 2 of the License, or      **
   13   **   (at your option) any later version.                                    **
   14   **                                                                          **
   15   **   The GNU General Public License can be found at                         **
   16   **   http://www.gnu.org/copyleft/gpl.html.                                  **
   17   **   A copy is found in the textfile GPL.txt and important notices to the   **
   18   **   license from the team is found in the textfile LICENSE.txt distributed **
   19   **   in these package.                                                      **
   20   **                                                                          **
   21   **   This copyright notice MUST APPEAR in all copies of the file!           **
   22   **   ********************************************************************   */
   23   
   24   /*
   25    * JPanelZahlungseingang.java
   26    *
   27    * Created on 10. M?rz 2003, 21:33
   28    */
   29   
   30   package net.sourceforge.wisim.controller;
   31   import java.util;
   32   import net.sourceforge.wisim.model;
   33   import net.sourceforge.wisim.dao;
   34   import javax.swing;
   35   import javax.swing.table.DefaultTableModel;
   36   import java.awt;
   37   import java.awt.image;
   38   import java.text.DecimalFormat;
   39   
   40   /**
   41    * JPanelZahlungseingang erm?glicht ?bersicht und Bearbeitung aller Zahlungseing?nge.
   42    * @author Janett Ziola
   43    */
   44   
   45   public class JPanelZahlungseingang extends javax.swing.JPanel {
   46       
   47       private WiSimDAO dao;
   48       private Vector rechnungsListe;
   49       private Hashtable vertragObjekte;  
   50       private Hashtable rechnungObjekte;     
   51       private Hashtable kundeObjekte;     
   52       private Collection etatPos;
   53       private int anzahl;
   54       private int posAnzahl;
   55       private double summe;
   56       private double skontoToCalc;
   57       private double lieferrabattToCalc;
   58       private Color darkgreen = new Color(51, 153, 51);
   59       private Color red = new Color(255, 0, 0);
   60       private Color orange = new Color(255, 153, 0);
   61       private int positionen;
   62       private boolean isActive;
   63       private boolean isBuilt;
   64       private WiSimMainController wiSimMainController;
   65   		private DecimalFormat form;
   66       
   67       /** Creates new form JPanelZahlungseingang
   68        * @param wiSimMainController Der WiSimMainController
   69        */
   70       public JPanelZahlungseingang(WiSimMainController wiSimMainController) {
   71           this.wiSimMainController = wiSimMainController;
   72           initDAO(wiSimMainController);
   73           vertragObjekte = new Hashtable();
   74           rechnungObjekte = new Hashtable();
   75           kundeObjekte = new Hashtable();
   76           rechnungsListe = new Vector();
   77           etatPos = new Vector();
   78           anzahl = 0;
   79           posAnzahl = 0;
   80           summe = 0;
   81           skontoToCalc = 0;
   82           lieferrabattToCalc = 0;
   83           isActive = false;
   84           isBuilt = false;
   85           initComponents();
   86   				form = new DecimalFormat("###,##0.00");
   87       }
   88       
   89       private void initDAO(WiSimMainController wiSimMainController) {
   90           dao = wiSimMainController.getDAO();
   91       }
   92       
   93       /** This method is called from within the constructor to
   94        * initialize the form.
   95        * WARNING: Do NOT modify this code. The content of this method is
   96        * always regenerated by the Form Editor.
   97        */
   98       private void initComponents() {//GEN-BEGIN:initComponents
   99           jLabelEtatEinsehen = new javax.swing.JLabel();
  100           jScrollPaneRechnungListe = new javax.swing.JScrollPane();
  101           jTableRechnungListe = new javax.swing.JTable();
  102           jTableRechnungListe.setSelectionMode(0);
  103           jTableRechnungListe.getTableHeader().setReorderingAllowed(false);
  104   
  105           jPanelLegende = new javax.swing.JPanel();
  106           jLabelGruen = new javax.swing.JLabel();
  107           jLabelRot = new javax.swing.JLabel();
  108           jPanelDetails = new javax.swing.JPanel();
  109           jTextFieldRabatt = new javax.swing.JTextField();
  110           jTextFieldPreis = new javax.swing.JTextField();
  111           jTextFieldSkonto = new javax.swing.JTextField();
  112           jLabelAngebotspreis1 = new javax.swing.JLabel();
  113           jLabelSkonto = new javax.swing.JLabel();
  114           jLabelEUR2 = new javax.swing.JLabel();
  115           jLabelRabatt = new javax.swing.JLabel();
  116           jButtonZahlungErfolgt = new javax.swing.JButton();
  117           jLabelAuftragsdatum = new javax.swing.JLabel();
  118           jTextFieldAuftragsdatum = new javax.swing.JTextField();
  119           jLabelLieferdatum = new javax.swing.JLabel();
  120           jTextFieldLieferdatum = new javax.swing.JTextField();
  121           jLabelKunde = new javax.swing.JLabel();
  122           jTextFieldKunde = new javax.swing.JTextField();
  123           jTextFieldNr = new javax.swing.JTextField();
  124           jLabelNr = new javax.swing.JLabel();
  125           jTextFieldFirma = new javax.swing.JTextField();
  126           jLabelFirma = new javax.swing.JLabel();
  127           jLabelProzent = new javax.swing.JLabel();
  128           jLabelProzent2 = new javax.swing.JLabel();
  129           jButtonReset = new javax.swing.JButton();
  130   
  131           setLayout(null);
  132   
  133           addAncestorListener(new javax.swing.event.AncestorListener() {
  134               public void ancestorMoved(javax.swing.event.AncestorEvent evt) {
  135               }
  136               public void ancestorAdded(javax.swing.event.AncestorEvent evt) {
  137                   formAncestorAdded(evt);
  138               }
  139               public void ancestorRemoved(javax.swing.event.AncestorEvent evt) {
  140                   formAncestorRemoved(evt);
  141               }
  142           });
  143   
  144           jLabelEtatEinsehen.setFont(new java.awt.Font("Dialog", 1, 24));
  145           jLabelEtatEinsehen.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
  146           jLabelEtatEinsehen.setText("Zahlungseingang");
  147           add(jLabelEtatEinsehen);
  148           jLabelEtatEinsehen.setBounds(150, 10, 550, 32);
  149   
  150           jTableRechnungListe.setModel(new javax.swing.table.DefaultTableModel(
  151               new Object [][] {
  152   
  153               },
  154               new String [] {
  155                   "Nr", "Name, Vorname", "Lieferung", "Zahlung"
  156               }
  157           ) {
  158               boolean[] canEdit = new boolean [] {
  159                   false, false, false, false
  160               };
  161   
  162               public boolean isCellEditable(int rowIndex, int columnIndex) {
  163                   return canEdit [columnIndex];
  164               }
  165           });
  166           jTableRechnungListe.addAncestorListener(new javax.swing.event.AncestorListener() {
  167               public void ancestorMoved(javax.swing.event.AncestorEvent evt) {
  168               }
  169               public void ancestorAdded(javax.swing.event.AncestorEvent evt) {
  170                   jTableRechnungListeAncestorAdded(evt);
  171               }
  172               public void ancestorRemoved(javax.swing.event.AncestorEvent evt) {
  173               }
  174           });
  175           jTableRechnungListe.addMouseListener(new java.awt.event.MouseAdapter() {
  176               public void mouseClicked(java.awt.event.MouseEvent evt) {
  177                   jTableRechnungListeMouseClicked(evt);
  178               }
  179           });
  180   
  181           jScrollPaneRechnungListe.setViewportView(jTableRechnungListe);
  182   
  183           add(jScrollPaneRechnungListe);
  184           jScrollPaneRechnungListe.setBounds(10, 90, 380, 320);
  185   
  186           jPanelLegende.setLayout(null);
  187   
  188           jPanelLegende.setBorder(new javax.swing.border.TitledBorder("Legende"));
  189           jLabelGruen.setText("erfolgt");
  190           jPanelLegende.add(jLabelGruen);
  191           jLabelGruen.setBounds(10, 20, 180, 16);
  192   
  193           jLabelRot.setText("noch nicht erfolgt");
  194           jPanelLegende.add(jLabelRot);
  195           jLabelRot.setBounds(10, 50, 290, 16);
  196   
  197           add(jPanelLegende);
  198           jPanelLegende.setBounds(10, 430, 380, 80);
  199   
  200           jPanelDetails.setLayout(null);
  201   
  202           jPanelDetails.setBorder(new javax.swing.border.TitledBorder("Zahlung"));
  203           jTextFieldRabatt.setEditable(false);
  204           jTextFieldRabatt.setHorizontalAlignment(javax.swing.JTextField.LEFT);
  205           jTextFieldRabatt.setBorder(null);
  206           jPanelDetails.add(jTextFieldRabatt);
  207           jTextFieldRabatt.setBounds(130, 130, 80, 20);
  208   
  209           jTextFieldPreis.setEditable(false);
  210           jTextFieldPreis.setHorizontalAlignment(javax.swing.JTextField.LEFT);
  211           jTextFieldPreis.setBorder(null);
  212           jPanelDetails.add(jTextFieldPreis);
  213           jTextFieldPreis.setBounds(130, 190, 80, 20);
  214   
  215           jTextFieldSkonto.setEditable(false);
  216           jTextFieldSkonto.setHorizontalAlignment(javax.swing.JTextField.LEFT);
  217           jTextFieldSkonto.setBorder(null);
  218           jPanelDetails.add(jTextFieldSkonto);
  219           jTextFieldSkonto.setBounds(130, 160, 80, 20);
  220   
  221           jLabelAngebotspreis1.setFont(new java.awt.Font("Dialog", 0, 12));
  222           jLabelAngebotspreis1.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
  223           jLabelAngebotspreis1.setText("Gesamtpreis");
  224           jPanelDetails.add(jLabelAngebotspreis1);
  225           jLabelAngebotspreis1.setBounds(30, 190, 80, 16);
  226   
  227           jLabelSkonto.setFont(new java.awt.Font("Dialog", 0, 12));
  228           jLabelSkonto.setText("Skonto");
  229           jPanelDetails.add(jLabelSkonto);
  230           jLabelSkonto.setBounds(30, 160, 60, 16);
  231   
  232           jLabelEUR2.setFont(new java.awt.Font("Dialog", 0, 12));
  233           jLabelEUR2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
  234           jLabelEUR2.setText("\u20ac");
  235           jLabelEUR2.setMaximumSize(new java.awt.Dimension(9, 22));
  236           jLabelEUR2.setMinimumSize(new java.awt.Dimension(9, 22));
  237           jLabelEUR2.setPreferredSize(new java.awt.Dimension(9, 22));
  238           jPanelDetails.add(jLabelEUR2);
  239           jLabelEUR2.setBounds(220, 190, 10, 22);
  240   
  241           jLabelRabatt.setFont(new java.awt.Font("Dialog", 0, 12));
  242           jLabelRabatt.setText("Rabatt");
  243           jPanelDetails.add(jLabelRabatt);
  244           jLabelRabatt.setBounds(30, 130, 60, 16);
  245   
  246           jButtonZahlungErfolgt.setText("Zahlung erfolgt");
  247           jButtonZahlungErfolgt.setEnabled(false);
  248           jButtonZahlungErfolgt.addActionListener(new java.awt.event.ActionListener() {
  249               public void actionPerformed(java.awt.event.ActionEvent evt) {
  250                   jButtonZahlungErfolgtActionPerformed(evt);
  251               }
  252           });
  253   
  254           jPanelDetails.add(jButtonZahlungErfolgt);
  255           jButtonZahlungErfolgt.setBounds(30, 360, 160, 26);
  256   
  257           jLabelAuftragsdatum.setFont(new java.awt.Font("Dialog", 0, 12));
  258           jLabelAuftragsdatum.setText("Auftragsdatum");
  259           jPanelDetails.add(jLabelAuftragsdatum);
  260           jLabelAuftragsdatum.setBounds(30, 250, 80, 16);
  261   
  262           jTextFieldAuftragsdatum.setEditable(false);
  263           jTextFieldAuftragsdatum.setHorizontalAlignment(javax.swing.JTextField.LEFT);
  264           jTextFieldAuftragsdatum.setBorder(null);
  265           jPanelDetails.add(jTextFieldAuftragsdatum);
  266           jTextFieldAuftragsdatum.setBounds(130, 250, 120, 20);
  267   
  268           jLabelLieferdatum.setFont(new java.awt.Font("Dialog", 0, 12));
  269           jLabelLieferdatum.setText("Lieferdatum");
  270           jPanelDetails.add(jLabelLieferdatum);
  271           jLabelLieferdatum.setBounds(30, 280, 66, 16);
  272   
  273           jTextFieldLieferdatum.setEditable(false);
  274           jTextFieldLieferdatum.setHorizontalAlignment(javax.swing.JTextField.LEFT);
  275           jTextFieldLieferdatum.setBorder(null);
  276           jPanelDetails.add(jTextFieldLieferdatum);
  277           jTextFieldLieferdatum.setBounds(130, 280, 120, 20);
  278   
  279           jLabelKunde.setFont(new java.awt.Font("Dialog", 0, 12));
  280           jLabelKunde.setText("Kunde");
  281           jPanelDetails.add(jLabelKunde);
  282           jLabelKunde.setBounds(30, 70, 36, 16);
  283   
  284           jTextFieldKunde.setEditable(false);
  285           jTextFieldKunde.setHorizontalAlignment(javax.swing.JTextField.LEFT);
  286           jTextFieldKunde.setBorder(null);
  287           jPanelDetails.add(jTextFieldKunde);
  288           jTextFieldKunde.setBounds(130, 70, 180, 20);
  289   
  290           jTextFieldNr.setEditable(false);
  291           jTextFieldNr.setHorizontalAlignment(javax.swing.JTextField.LEFT);
  292           jTextFieldNr.setBorder(null);
  293           jPanelDetails.add(jTextFieldNr);
  294           jTextFieldNr.setBounds(130, 40, 80, 20);
  295   
  296           jLabelNr.setFont(new java.awt.Font("Dialog", 0, 12));
  297           jLabelNr.setText("Nr");
  298           jPanelDetails.add(jLabelNr);
  299           jLabelNr.setBounds(30, 40, 13, 16);
  300   
  301           jTextFieldFirma.setEditable(false);
  302           jTextFieldFirma.setHorizontalAlignment(javax.swing.JTextField.LEFT);
  303           jTextFieldFirma.setBorder(null);
  304           jPanelDetails.add(jTextFieldFirma);
  305           jTextFieldFirma.setBounds(130, 100, 180, 20);
  306   
  307           jLabelFirma.setFont(new java.awt.Font("Dialog", 0, 12));
  308           jLabelFirma.setText("Firma");
  309           jPanelDetails.add(jLabelFirma);
  310           jLabelFirma.setBounds(30, 100, 32, 16);
  311   
  312           jLabelProzent.setFont(new java.awt.Font("Dialog", 0, 12));
  313           jLabelProzent.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
  314           jLabelProzent.setText("%");
  315           jLabelProzent.setMaximumSize(new java.awt.Dimension(9, 22));
  316           jLabelProzent.setMinimumSize(new java.awt.Dimension(9, 22));
  317           jLabelProzent.setPreferredSize(new java.awt.Dimension(9, 22));
  318           jPanelDetails.add(jLabelProzent);
  319           jLabelProzent.setBounds(220, 160, 20, 22);
  320   
  321           jLabelProzent2.setFont(new java.awt.Font("Dialog", 0, 12));
  322           jLabelProzent2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
  323           jLabelProzent2.setText("%");
  324           jLabelProzent2.setMaximumSize(new java.awt.Dimension(9, 22));
  325           jLabelProzent2.setMinimumSize(new java.awt.Dimension(9, 22));
  326           jLabelProzent2.setPreferredSize(new java.awt.Dimension(9, 22));
  327           jPanelDetails.add(jLabelProzent2);
  328           jLabelProzent2.setBounds(220, 130, 20, 22);
  329   
  330           jButtonReset.setText("R\u00fcckg\u00e4ngig");
  331           jButtonReset.setEnabled(false);
  332           jButtonReset.addActionListener(new java.awt.event.ActionListener() {
  333               public void actionPerformed(java.awt.event.ActionEvent evt) {
  334                   jButtonResetActionPerformed(evt);
  335               }
  336           });
  337   
  338           jPanelDetails.add(jButtonReset);
  339           jButtonReset.setBounds(210, 360, 110, 26);
  340   
  341           add(jPanelDetails);
  342           jPanelDetails.setBounds(420, 90, 340, 420);
  343   
  344       }//GEN-END:initComponents
  345   
  346       private void formAncestorRemoved(javax.swing.event.AncestorEvent evt) {//GEN-FIRST:event_formAncestorRemoved
  347           setIsActive(false);
  348       }//GEN-LAST:event_formAncestorRemoved
  349   
  350       private void formAncestorAdded(javax.swing.event.AncestorEvent evt) {//GEN-FIRST:event_formAncestorAdded
  351           setIsActive(true);
  352       }//GEN-LAST:event_formAncestorAdded
  353   
  354       private void jButtonResetActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonResetActionPerformed
  355           int auswahl = getSelVertragsID();
  356           if (auswahl != 0){
  357              boolean i = false;
  358              aendereEingang(getSelVertragsID(),i);
  359              setzeStandard();
  360           }
  361       }//GEN-LAST:event_jButtonResetActionPerformed
  362   
  363   		private void jButtonZahlungErfolgtActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonZahlungErfolgtActionPerformed
  364           int auswahl = getSelVertragsID();
  365           if (auswahl != 0){
  366              boolean i = true;
  367              aendereEingang(getSelVertragsID(),i);
  368              setzeStandard();
  369           }
  370   		}//GEN-LAST:event_jButtonZahlungErfolgtActionPerformed
  371   
  372       private void jTableRechnungListeMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTableRechnungListeMouseClicked
  373           ladeKunde();
  374       }//GEN-LAST:event_jTableRechnungListeMouseClicked
  375           
  376       private void jTableRechnungListeAncestorAdded(javax.swing.event.AncestorEvent evt) {//GEN-FIRST:event_jTableRechnungListeAncestorAdded
  377           setzeStandard();
  378           ladeRechnungen();
  379           showLegende();
  380           setIsBuilt(true);
  381       }//GEN-LAST:event_jTableRechnungListeAncestorAdded
  382       
  383       
  384       // Variables declaration - do not modify//GEN-BEGIN:variables
  385       private javax.swing.JButton jButtonReset;
  386       private javax.swing.JButton jButtonZahlungErfolgt;
  387       private javax.swing.JLabel jLabelAngebotspreis1;
  388       private javax.swing.JLabel jLabelAuftragsdatum;
  389       private javax.swing.JLabel jLabelEUR2;
  390       private javax.swing.JLabel jLabelEtatEinsehen;
  391       private javax.swing.JLabel jLabelFirma;
  392       private javax.swing.JLabel jLabelGruen;
  393       private javax.swing.JLabel jLabelKunde;
  394       private javax.swing.JLabel jLabelLieferdatum;
  395       private javax.swing.JLabel jLabelNr;
  396       private javax.swing.JLabel jLabelProzent;
  397       private javax.swing.JLabel jLabelProzent2;
  398       private javax.swing.JLabel jLabelRabatt;
  399       private javax.swing.JLabel jLabelRot;
  400       private javax.swing.JLabel jLabelSkonto;
  401       private javax.swing.JPanel jPanelDetails;
  402       private javax.swing.JPanel jPanelLegende;
  403       private javax.swing.JScrollPane jScrollPaneRechnungListe;
  404       private javax.swing.JTable jTableRechnungListe;
  405       private javax.swing.JTextField jTextFieldAuftragsdatum;
  406       private javax.swing.JTextField jTextFieldFirma;
  407       private javax.swing.JTextField jTextFieldKunde;
  408       private javax.swing.JTextField jTextFieldLieferdatum;
  409       private javax.swing.JTextField jTextFieldNr;
  410       private javax.swing.JTextField jTextFieldPreis;
  411       private javax.swing.JTextField jTextFieldRabatt;
  412       private javax.swing.JTextField jTextFieldSkonto;
  413       // End of variables declaration//GEN-END:variables
  414       
  415       /** F?llt die Tabelle mit den in der DB vorhadenen Rechnungen */    
  416       public void ladeRechnungen() {
  417        try {
  418           Collection Vertraege = null;
  419           Vertraege = dao.getVertraege();
  420           Iterator it_Vertrag = Vertraege.iterator();
  421          
  422           positionen = 0;
  423           int row;
  424           int i=0;
  425           anzahl = Vertraege.size();
  426           setTabelle();
  427           
  428           while (it_Vertrag.hasNext()) {
  429               Vertrag vertragsliste = (Vertrag) it_Vertrag.next();
  430               Auftragsrechnung Auftrag = new Auftragsrechnung();
  431               Auftrag = dao.getAuftragsrechnung(vertragsliste.getAuftragsrechnungsId());
  432               Kunde Kunde = new Kunde();
  433               Kunde = dao.getKunde(vertragsliste.getKundenId());
  434              
  435               jTableRechnungListe.setValueAt(String.valueOf(Auftrag.getAuftragNr()), i, 0);
  436               jTableRechnungListe.setValueAt(Kunde.getNachname()+ ", "+ Kunde.getVorname(), i, 1);
  437                                      
  438               if (vergleicheDatum(wiSimMainController.getActDate(),vertragsliste.getLieferdatum()) <= 0){ 
  439                   Image imageIconGreen = new BufferedImage(28, 30, 2);
  440                   Graphics g = imageIconGreen.getGraphics();
  441                   g.setColor(darkgreen);
  442                   g.fillRoundRect(10,11, 10, 10, 3, 3);
  443                   ImageIcon ic = new ImageIcon(imageIconGreen);
  444                   jTableRechnungListe.setValueAt(ic, i, 2);
  445                   
  446               }else
  447               {
  448                   Image imageIconRed = new BufferedImage(28, 30, 2);
  449                   Graphics g = imageIconRed.getGraphics();
  450                   g = imageIconRed.getGraphics();
  451                   g.setColor(red);
  452                   g.fillRoundRect(10,11, 10, 10, 3, 3);
  453                   ImageIcon ic = new ImageIcon(imageIconRed);
  454                   jTableRechnungListe.setValueAt(ic, i, 2);
  455               }
  456             
  457               if (Auftrag.getzEingang()){
  458                   Image imageIconGreen = new BufferedImage(28, 30, 2);
  459                   Graphics g = imageIconGreen.getGraphics();
  460                   g.setColor(darkgreen);
  461                   g.fillRoundRect(10,11, 10, 10, 3, 3);
  462                   ImageIcon is = new ImageIcon(imageIconGreen);
  463                   jTableRechnungListe.setValueAt(is, i, 3);
  464                   
  465               }else
  466               {
  467                   Image imageIconRed = new BufferedImage(28, 30, 2);
  468                   Graphics g = imageIconRed.getGraphics();
  469                   g = imageIconRed.getGraphics();
  470                   g.setColor(red);
  471                   g.fillRoundRect(10,11, 10, 10, 3, 3);
  472                   ImageIcon is = new ImageIcon(imageIconRed);
  473                   jTableRechnungListe.setValueAt(is, i, 3);
  474               }
  475           
  476               vertragObjekte.put(String.valueOf(i),vertragsliste);
  477               rechnungObjekte.put(String.valueOf(i),Auftrag);
  478               kundeObjekte.put(String.valueOf(i),Kunde);
  479               i++;
  480           }
  481       } catch (WiSimDAOException e) {
  482               System.err.println(e.getMessage());
  483       }
  484   }
  485      
  486       
  487   //L?dt einen Kunden zum Bearbeiten aus der Datenbank
  488    private void ladeKunde() {
  489         
  490        //liefert listItem des selektierten Eintrags
  491       String listItem = String.valueOf(jTableRechnungListe.getSelectedRow());
  492       Vertrag auswahlVertrag = (Vertrag)vertragObjekte.get(listItem);
  493       Auftragsrechnung auswahlRechnung = (Auftragsrechnung)rechnungObjekte.get(listItem);
  494       Kunde auswahlKunde = (Kunde)kundeObjekte.get(listItem);
  495       
  496       if (auswahlVertrag != null){   
  497           jTextFieldKunde.setText(auswahlKunde.getNachname()+ ", "+ auswahlKunde.getVorname());
  498           jTextFieldFirma.setText(auswahlKunde.getFirma());
  499           jTextFieldRabatt.setText(String.valueOf(auswahlVertrag.getRabatt()));
  500           jTextFieldSkonto.setText(String.valueOf(auswahlVertrag.getSkonto()));
  501           jTextFieldPreis.setText(form.format(auswahlRechnung.getBetrag()));
  502           jTextFieldAuftragsdatum.setText(String.valueOf(formatDate(auswahlVertrag.getVertragsdatum())));
  503           jTextFieldLieferdatum.setText(String.valueOf(formatDate(auswahlVertrag.getLieferdatum())));
  504           jTextFieldNr.setText(String.valueOf(auswahlRechnung.getNr()));
  505       }
  506       
  507       if (vergleicheDatum(wiSimMainController.getActDate(),auswahlVertrag.getLieferdatum()) <= 0){
  508          if (auswahlRechnung.getzEingang()){
  509               jButtonZahlungErfolgt.setEnabled(false);
  510               jButtonReset.setEnabled(true);   
  511           }else{ 
  512               jButtonZahlungErfolgt.setEnabled(true);
  513               jButtonReset.setEnabled(false);}
  514       }else{
  515          jButtonZahlungErfolgt.setEnabled(false);
  516          jButtonReset.setEnabled(false);   
  517       }
  518   
  519       
  520   }
  521    
  522   //Setzt Rechnungsstatus auf bezahlt
  523     private void aendereEingang(int Id, boolean i){
  524             try{
  525                 dao.aendereAuftragsrechnung(Id,i);
  526                 ladeRechnungen();
  527             } catch (WiSimDAOException e) {
  528                      System.err.println("Fehler: " + e.getMessage());
  529               } catch (WiSimDAOWriteException e) {
  530                        System.err.println("Fehler: " + e.getMessage());
  531                 }
  532     }     
  533    
  534    
  535       /** Formatiert ein Date Objekt zu einem String TT.MM.JJJJ.
  536        * @param dateToFormat Das zu formatierende Datum.
  537        * @return Das formatierte Datum.
  538        */
  539       public String formatDate(java.sql.Date dateToFormat) {
  540           String date = String.valueOf(dateToFormat);
  541           String year = date.substring(0,4);
  542           String month = date.substring(5,7);
  543           String day = date.substring(8,10);
  544           String formattedDate = day + "." + month + "." + year;
  545           return formattedDate;
  546       }
  547       
  548       /** Vergleicht Lieferdatum mit aktuellen Datum
  549        * @param one Datum aus der DB
  550        * @param two dynamisches Datum
  551        * @return int
  552        */
  553       public int vergleicheDatum(Date one, Date two) {
  554           //umwandeln in UtilDate
  555           one = new java.util.Date(one.getTime());
  556           two = new java.util.Date(two.getTime());
  557           int controll = two.compareTo(one);
  558           return controll;
  559       }
  560       /** Zeigt die Legende an */
  561       public void showLegende() {
  562           //Legende
  563           Image imageIconGreen = new BufferedImage(28, 30, 2);
  564           Graphics g = imageIconGreen.getGraphics();
  565           g.setColor(darkgreen);
  566           g.fillRoundRect(10,11, 10, 10, 3, 3);
  567           ImageIcon ic = new ImageIcon(imageIconGreen);
  568           jLabelGruen.setIcon(ic);
  569           
  570           Image imageIconRed = new BufferedImage(28, 30, 2);
  571           g = imageIconRed.getGraphics();
  572           g.setColor(red);
  573           g.fillRoundRect(10,11, 10, 10, 3, 3);
  574           ic = new ImageIcon(imageIconRed);
  575           jLabelRot.setIcon(ic);
  576       }
  577       
  578       /** Erstellt die Tabelle. */
  579       public void setTabelle() {
  580   
  581           Object[][] tableInit = new Object[anzahl][4];
  582           DefaultTableModel defTable = new DefaultTableModel(
  583           tableInit,
  584           new String [] {
  585               "Nr", "Name, Vorname", "Lieferung", "Zahlung"
  586               }
  587           ) {
  588               boolean[] canEdit = new boolean [] {
  589                   false, false, false, false
  590               };
  591               public boolean isCellEditable(int rowIndex, int columnIndex) {
  592                   return canEdit [columnIndex];
  593               }
  594               public Class getColumnClass(int c) {
  595                   return getValueAt(0, c).getClass();
  596               }
  597           };
  598           jTableRechnungListe.setModel(defTable);
  599           jTableRechnungListe.setFocusable(false);
  600           jTableRechnungListe.getTableHeader().setReorderingAllowed(false);
  601           
  602           javax.swing.table.TableColumn column = null;
  603           
  604           //Spaltenbreiten der Tabelle werden gesetzt
  605           for (int i = 0; i < 4; i++) {
  606               column = jTableRechnungListe.getColumnModel().getColumn(i);
  607               switch (i) {
  608                       //Nr
  609                   case 0:
  610                       column.setPreferredWidth(30);
  611                       break;
  612                       //Name
  613                   case 1:
  614                       column.setPreferredWidth(150);
  615                       break;
  616                       //Lieferung
  617                   case 2:
  618                       column.setPreferredWidth(40);
  619                       break;                   
  620                       //Zahlung
  621                   case 3:
  622                       column.setPreferredWidth(40);
  623                       break;
  624   
  625               }
  626           }
  627           jTableRechnungListe.setDefaultRenderer( JComponent.class, new JComponentCellRenderer());
  628           jTableRechnungListe.setDefaultEditor( JComponent.class, new JComponentCellEditor());
  629       }    
  630     
  631       /** Liefert die KD_Nr des aktiven Kunden
  632      * @return int
  633      */  
  634       private int getSelVertragsID(){
  635       //liefert listItem des selektierten Eintrags
  636       String listItem = String.valueOf(jTableRechnungListe.getSelectedRow());   
  637       //sucht das aktive KundenObjekt in Hashtabelle kundenObjekte
  638       Vertrag auswahl = (Vertrag)vertragObjekte.get(listItem);
  639           if (auswahl != null){ 
  640               return auswahl.getAuftragsrechnungsId();
  641           }else return 0;
  642       }
  643       
  644       // Setzt nach dem Speichern und L?schen eines Lieferanten die Werte auf Standard^   
  645       private void setzeStandard() {
  646           jTextFieldKunde.setText("");
  647           jTextFieldFirma.setText("");
  648           jTextFieldRabatt.setText("");
  649           jTextFieldSkonto.setText("");
  650           jTextFieldPreis.setText("");
  651           jTextFieldAuftragsdatum.setText("");
  652           jTextFieldLieferdatum.setText("");
  653           jTextFieldNr.setText("");
  654           jButtonReset.setEnabled(false);
  655           jButtonZahlungErfolgt.setEnabled(false);
  656       }
  657   
  658        /** Refreshed Tabelle */
  659       public void refreshTabelle() {
  660           if (jTableRechnungListe.getSelectedRow() >= 0) {
  661               Collection Vertraege = null;
  662               try {
  663                   Vertraege = dao.getVertraege();
  664               } catch (WiSimDAOException e) {
  665               }
  666               anzahl = Vertraege.size();
  667               int i = 0;
  668               if (anzahl > 0) {
  669                   
  670                   Iterator it_Vertrag = Vertraege.iterator();
  671                   
  672                   while (it_Vertrag.hasNext()) {
  673                       Vertrag vertragsliste = (Vertrag) it_Vertrag.next();
  674                                                               
  675                       if (vergleicheDatum(wiSimMainController.getActDate(),vertragsliste.getLieferdatum()) <= 0){ 
  676                           Image imageIconGreen = new BufferedImage(28, 30, 2);
  677                           Graphics g = imageIconGreen.getGraphics();
  678                           g.setColor(darkgreen);
  679                           g.fillRoundRect(10,11, 10, 10, 3, 3);
  680                           ImageIcon ic = new ImageIcon(imageIconGreen);
  681                           jTableRechnungListe.setValueAt(ic, i, 2);
  682                   
  683                       }else
  684                       {
  685                           Image imageIconRed = new BufferedImage(28, 30, 2);
  686                           Graphics g = imageIconRed.getGraphics();
  687                           g = imageIconRed.getGraphics();
  688                           g.setColor(red);
  689                           g.fillRoundRect(10,11, 10, 10, 3, 3);
  690                           ImageIcon ic = new ImageIcon(imageIconRed);
  691                           jTableRechnungListe.setValueAt(ic, i, 2);
  692                       }
  693                       i++;
  694                   }
  695               } 
  696           }
  697       }
  698       
  699       /** Setzt die Variable isBuilt
  700        * @param isBuilt
  701        */
  702   	public void setIsBuilt(boolean isBuilt) {
  703   		this.isBuilt = isBuilt;
  704   	}
  705   
  706   	/** Wurde das Pane schon einmal aufgebaut, so ist "isBuilt" = TRUE.
  707            *  Wichtig ist diese Variable f?r die Simulation: Wurde das Pane
  708            *  schon einmal aufgebaut, so m?ssen die Simulationsthread das Pane
  709            *  nicht noch einmal initialisieren!
  710            * @return boolean
  711            */
  712   	public boolean getIsBuilt() {
  713   		return isBuilt;
  714   	}
  715   
  716   	/** Setzt die Variable isActive auf TRUE oder FALSE
  717   	 * @param isActive
  718   	 */
  719   	public void setIsActive(boolean isActive) {
  720   		this.isActive = isActive;
  721   	}
  722   
  723   	/** Befindet sich der Benutzer auf diesem Pane, so ist "isActive" = TRUE.
  724            *  Verl?sst der Benutzer das Pane, so ist "isActive" = FALSE.
  725            *  Wichtig ist diese Variable f?r die Simulation: Es wird nur das Pane
  726            *  aktualisiert, auf dem sich der Benutzer gerade befindet!
  727            * @return boolean
  728            */
  729   	public boolean getIsActive() {
  730   		return isActive;
  731   	}
  732   }

Save This Page
Home » openjdk-7 » net.sourceforge.wisim » controller » [javadoc | source]