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    * JPanelEtatEinsehen.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   /** Gibt eine ?bersicht aller Einzelteilauftr?ge aus.
   41    * @author benjamin.pasero
   42    */
   43   public class JPanelEtatEinsehen extends javax.swing.JPanel {
   44   
   45   	private WiSimDAO dao;
   46   	private Vector etatListe;
   47   	private Collection etatPos;
   48   	private int etatAnzahl;
   49   	private int etatPosAnzahl;
   50   	private double summe;
   51   	private double skontoToCalc;
   52   	private double lieferrabattToCalc;
   53   	private double calcedLieferrabatt;
   54   	private double calcedSkonto;
   55   	private double calcedGesamt;
   56   	private static Color darkgreen = new Color(51, 153, 51);
   57   	private static Color red = new Color(255, 0, 0);
   58   	private static Color orange = new Color(255, 153, 0);
   59   	private boolean isBuilt;
   60   	private boolean isActive;
   61     private WiSimMainController wiSimMainController;
   62   	private DecimalFormat form;
   63   
   64   	//Logger
   65   	private WiSimLogger wiSimLogger;
   66   
   67   	/** Creates new form JPanelEtatEinsehen
   68   	 * @param wiSimMainController Der WiSimMainController
   69   	 */
   70   	public JPanelEtatEinsehen(WiSimMainController wiSimMainController) {
   71   		this.wiSimMainController = wiSimMainController;
   72                   wiSimLogger = wiSimMainController.getWiSimLogger();
   73   		initDAO(wiSimMainController);
   74   		etatListe = new Vector();
   75   		etatPos = new Vector();
   76   		etatAnzahl = 0;
   77   		etatPosAnzahl = 0;
   78   		summe = 0;
   79   		skontoToCalc = 0;
   80   		lieferrabattToCalc = 0;
   81   		calcedLieferrabatt = 0;
   82   		calcedSkonto = 0;
   83   		calcedGesamt = 0;
   84   		isBuilt = false;
   85   		isActive = false;
   86   		initComponents();
   87   		initializeEtatListe();
   88   		setEtatTable();
   89   		form = new DecimalFormat("###,##0.00");
   90   	}
   91   
   92   	private void initDAO(WiSimMainController wiSimMainController) {
   93   		dao = wiSimMainController.getDAO();
   94   	}
   95   
   96   	/** This method is called from within the constructor to
   97   	 * initialize the form.
   98   	 * WARNING: Do NOT modify this code. The content of this method is
   99   	 * always regenerated by the Form Editor.
  100   	 */
  101       private void initComponents() {//GEN-BEGIN:initComponents
  102           jLabelEtatEinsehen = new javax.swing.JLabel();
  103           jScrollPaneEtatListe = new javax.swing.JScrollPane();
  104           jTableEtatListe = new javax.swing.JTable();
  105           jTableEtatListe.setSelectionMode(0);
  106           jTableEtatListe.getTableHeader().setReorderingAllowed(false);
  107   
  108           jLabelAuftraege = new javax.swing.JLabel();
  109           jPanelDetailansicht = new javax.swing.JPanel();
  110           jLabelPositionen = new javax.swing.JLabel();
  111           jScrollPaneEtatPos = new javax.swing.JScrollPane();
  112           jTableEtatPos = new javax.swing.JTable();
  113           jTableEtatPos.getTableHeader().setReorderingAllowed(false);
  114           jLabelLieferant = new javax.swing.JLabel();
  115           jTextLTFirma = new javax.swing.JTextField();
  116           jTextLTSumme = new javax.swing.JTextField();
  117           jLabelZwischensumme = new javax.swing.JLabel();
  118           jTextFieldLieferrabatt = new javax.swing.JTextField();
  119           jTextFieldSkonto = new javax.swing.JTextField();
  120           jLabelNettozahldatum = new javax.swing.JLabel();
  121           jTextFieldNettozahldatum = new javax.swing.JTextField();
  122           jLabelProzent2 = new javax.swing.JLabel();
  123           jLabelProzent = new javax.swing.JLabel();
  124           jTextFieldAnsprechperson = new javax.swing.JTextField();
  125           jLabelEuro = new javax.swing.JLabel();
  126           jLabelAbzLieferrabatt = new javax.swing.JLabel();
  127           jTextFieldCalcLieferrabatt = new javax.swing.JTextField();
  128           jLabelEuro3 = new javax.swing.JLabel();
  129           jLabelAbzSkonto = new javax.swing.JLabel();
  130           jTextFieldCalcSkonto = new javax.swing.JTextField();
  131           jLabelEuro4 = new javax.swing.JLabel();
  132           jLabelGesamt = new javax.swing.JLabel();
  133           jTextFieldCalcGesamt = new javax.swing.JTextField();
  134           jLabelEuro5 = new javax.swing.JLabel();
  135           jSeparator = new javax.swing.JSeparator();
  136           jLabelAbz2 = new javax.swing.JLabel();
  137           jLabelAbz = new javax.swing.JLabel();
  138           jLabelFirma = new javax.swing.JLabel();
  139           jLabelName = new javax.swing.JLabel();
  140           jLabelQualitaet = new javax.swing.JLabel();
  141           jLabelZUverlaessigkeit = new javax.swing.JLabel();
  142           jTextQualitaet = new javax.swing.JTextField();
  143           jTextZuverlaessigkeit = new javax.swing.JTextField();
  144           jPanelLegende = new javax.swing.JPanel();
  145           jLabelGruen = new javax.swing.JLabel();
  146           jLabelRot = new javax.swing.JLabel();
  147   
  148           setLayout(null);
  149   
  150           addAncestorListener(new javax.swing.event.AncestorListener() {
  151               public void ancestorMoved(javax.swing.event.AncestorEvent evt) {
  152               }
  153               public void ancestorAdded(javax.swing.event.AncestorEvent evt) {
  154                   formAncestorAdded(evt);
  155               }
  156               public void ancestorRemoved(javax.swing.event.AncestorEvent evt) {
  157                   formAncestorRemoved(evt);
  158               }
  159           });
  160   
  161           jLabelEtatEinsehen.setFont(new java.awt.Font("Dialog", 1, 24));
  162           jLabelEtatEinsehen.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
  163           jLabelEtatEinsehen.setText("Einzelteilauftr\u00e4ge einsehen");
  164           add(jLabelEtatEinsehen);
  165           jLabelEtatEinsehen.setBounds(150, 10, 550, 32);
  166   
  167           jTableEtatListe.setModel(new javax.swing.table.DefaultTableModel(
  168               new Object [][] {
  169   
  170               },
  171               new String [] {
  172                   "Lieferdatum", "Auftragsdatum", "Nr", "Status"
  173               }
  174           ) {
  175               boolean[] canEdit = new boolean [] {
  176                   false, false, false, false
  177               };
  178   
  179               public boolean isCellEditable(int rowIndex, int columnIndex) {
  180                   return canEdit [columnIndex];
  181               }
  182           });
  183           jTableEtatListe.addAncestorListener(new javax.swing.event.AncestorListener() {
  184               public void ancestorMoved(javax.swing.event.AncestorEvent evt) {
  185               }
  186               public void ancestorAdded(javax.swing.event.AncestorEvent evt) {
  187                   jTableEtatListeAncestorAdded(evt);
  188               }
  189               public void ancestorRemoved(javax.swing.event.AncestorEvent evt) {
  190               }
  191           });
  192           jTableEtatListe.addMouseListener(new java.awt.event.MouseAdapter() {
  193               public void mouseClicked(java.awt.event.MouseEvent evt) {
  194                   jTableEtatListeMouseClicked(evt);
  195               }
  196           });
  197   
  198           jScrollPaneEtatListe.setViewportView(jTableEtatListe);
  199   
  200           add(jScrollPaneEtatListe);
  201           jScrollPaneEtatListe.setBounds(10, 70, 270, 380);
  202   
  203           jLabelAuftraege.setFont(new java.awt.Font("Dialog", 1, 14));
  204           jLabelAuftraege.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
  205           jLabelAuftraege.setText("Auftr\u00e4ge");
  206           add(jLabelAuftraege);
  207           jLabelAuftraege.setBounds(10, 50, 270, 16);
  208   
  209           jPanelDetailansicht.setLayout(null);
  210   
  211           jPanelDetailansicht.setBorder(new javax.swing.border.TitledBorder("Detailansicht"));
  212           jLabelPositionen.setFont(new java.awt.Font("Dialog", 1, 14));
  213           jLabelPositionen.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
  214           jLabelPositionen.setText("Positionen");
  215           jPanelDetailansicht.add(jLabelPositionen);
  216           jLabelPositionen.setBounds(100, 20, 270, 16);
  217   
  218           jTableEtatPos.setModel(new javax.swing.table.DefaultTableModel(
  219               new Object [][] {
  220   
  221               },
  222               new String [] {
  223                   "Artikel", "Menge", "Preis"
  224               }
  225           ));
  226           jScrollPaneEtatPos.setViewportView(jTableEtatPos);
  227   
  228           jPanelDetailansicht.add(jScrollPaneEtatPos);
  229           jScrollPaneEtatPos.setBounds(20, 40, 440, 130);
  230   
  231           jLabelLieferant.setFont(new java.awt.Font("Dialog", 1, 14));
  232           jLabelLieferant.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
  233           jLabelLieferant.setText("Lieferant");
  234           jPanelDetailansicht.add(jLabelLieferant);
  235           jLabelLieferant.setBounds(190, 330, 80, 20);
  236   
  237           jTextLTFirma.setEditable(false);
  238           jPanelDetailansicht.add(jTextLTFirma);
  239           jTextLTFirma.setBounds(70, 360, 160, 20);
  240   
  241           jTextLTSumme.setEditable(false);
  242           jTextLTSumme.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
  243           jPanelDetailansicht.add(jTextLTSumme);
  244           jTextLTSumme.setBounds(320, 180, 120, 20);
  245   
  246           jLabelZwischensumme.setFont(new java.awt.Font("Dialog", 1, 14));
  247           jLabelZwischensumme.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
  248           jLabelZwischensumme.setText("Zwischensumme");
  249           jPanelDetailansicht.add(jLabelZwischensumme);
  250           jLabelZwischensumme.setBounds(180, 180, 130, 20);
  251   
  252           jTextFieldLieferrabatt.setEditable(false);
  253           jTextFieldLieferrabatt.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
  254           jPanelDetailansicht.add(jTextFieldLieferrabatt);
  255           jTextFieldLieferrabatt.setBounds(160, 220, 40, 20);
  256   
  257           jTextFieldSkonto.setEditable(false);
  258           jTextFieldSkonto.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
  259           jPanelDetailansicht.add(jTextFieldSkonto);
  260           jTextFieldSkonto.setBounds(160, 250, 40, 20);
  261   
  262           jLabelNettozahldatum.setFont(new java.awt.Font("Dialog", 1, 14));
  263           jLabelNettozahldatum.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
  264           jLabelNettozahldatum.setText("Nettozahldatum");
  265           jPanelDetailansicht.add(jLabelNettozahldatum);
  266           jLabelNettozahldatum.setBounds(30, 280, 120, 19);
  267   
  268           jTextFieldNettozahldatum.setEditable(false);
  269           jTextFieldNettozahldatum.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
  270           jPanelDetailansicht.add(jTextFieldNettozahldatum);
  271           jTextFieldNettozahldatum.setBounds(160, 280, 80, 20);
  272   
  273           jLabelProzent2.setFont(new java.awt.Font("Dialog", 1, 14));
  274           jLabelProzent2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
  275           jLabelProzent2.setText("%");
  276           jPanelDetailansicht.add(jLabelProzent2);
  277           jLabelProzent2.setBounds(200, 250, 30, 20);
  278   
  279           jLabelProzent.setFont(new java.awt.Font("Dialog", 1, 14));
  280           jLabelProzent.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
  281           jLabelProzent.setText("%");
  282           jPanelDetailansicht.add(jLabelProzent);
  283           jLabelProzent.setBounds(200, 220, 30, 20);
  284   
  285           jTextFieldAnsprechperson.setEditable(false);
  286           jPanelDetailansicht.add(jTextFieldAnsprechperson);
  287           jTextFieldAnsprechperson.setBounds(300, 360, 160, 20);
  288   
  289           jLabelEuro.setFont(new java.awt.Font("Dialog", 1, 14));
  290           jLabelEuro.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
  291           jLabelEuro.setText("\u20ac");
  292           jPanelDetailansicht.add(jLabelEuro);
  293           jLabelEuro.setBounds(440, 180, 20, 20);
  294   
  295           jLabelAbzLieferrabatt.setFont(new java.awt.Font("Dialog", 1, 14));
  296           jLabelAbzLieferrabatt.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
  297           jLabelAbzLieferrabatt.setText("Lieferrabatt");
  298           jPanelDetailansicht.add(jLabelAbzLieferrabatt);
  299           jLabelAbzLieferrabatt.setBounds(220, 220, 90, 19);
  300   
  301           jTextFieldCalcLieferrabatt.setEditable(false);
  302           jTextFieldCalcLieferrabatt.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
  303           jPanelDetailansicht.add(jTextFieldCalcLieferrabatt);
  304           jTextFieldCalcLieferrabatt.setBounds(320, 220, 120, 20);
  305   
  306           jLabelEuro3.setFont(new java.awt.Font("Dialog", 1, 14));
  307           jLabelEuro3.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
  308           jLabelEuro3.setText("\u20ac");
  309           jPanelDetailansicht.add(jLabelEuro3);
  310           jLabelEuro3.setBounds(440, 220, 20, 20);
  311   
  312           jLabelAbzSkonto.setFont(new java.awt.Font("Dialog", 1, 14));
  313           jLabelAbzSkonto.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
  314           jLabelAbzSkonto.setText("Skonto");
  315           jPanelDetailansicht.add(jLabelAbzSkonto);
  316           jLabelAbzSkonto.setBounds(220, 250, 90, 19);
  317   
  318           jTextFieldCalcSkonto.setEditable(false);
  319           jTextFieldCalcSkonto.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
  320           jPanelDetailansicht.add(jTextFieldCalcSkonto);
  321           jTextFieldCalcSkonto.setBounds(320, 250, 120, 20);
  322   
  323           jLabelEuro4.setFont(new java.awt.Font("Dialog", 1, 14));
  324           jLabelEuro4.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
  325           jLabelEuro4.setText("\u20ac");
  326           jPanelDetailansicht.add(jLabelEuro4);
  327           jLabelEuro4.setBounds(440, 250, 20, 20);
  328   
  329           jLabelGesamt.setFont(new java.awt.Font("Dialog", 1, 14));
  330           jLabelGesamt.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
  331           jLabelGesamt.setText("Gesamt");
  332           jPanelDetailansicht.add(jLabelGesamt);
  333           jLabelGesamt.setBounds(240, 280, 70, 19);
  334   
  335           jTextFieldCalcGesamt.setEditable(false);
  336           jTextFieldCalcGesamt.setFont(new java.awt.Font("Dialog", 1, 12));
  337           jTextFieldCalcGesamt.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
  338           jPanelDetailansicht.add(jTextFieldCalcGesamt);
  339           jTextFieldCalcGesamt.setBounds(320, 280, 120, 20);
  340   
  341           jLabelEuro5.setFont(new java.awt.Font("Dialog", 1, 14));
  342           jLabelEuro5.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
  343           jLabelEuro5.setText("\u20ac");
  344           jPanelDetailansicht.add(jLabelEuro5);
  345           jLabelEuro5.setBounds(440, 280, 20, 20);
  346   
  347           jPanelDetailansicht.add(jSeparator);
  348           jSeparator.setBounds(10, 320, 460, 10);
  349   
  350           jLabelAbz2.setFont(new java.awt.Font("Dialog", 1, 14));
  351           jLabelAbz2.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
  352           jLabelAbz2.setText("abz.");
  353           jPanelDetailansicht.add(jLabelAbz2);
  354           jLabelAbz2.setBounds(120, 220, 30, 19);
  355   
  356           jLabelAbz.setFont(new java.awt.Font("Dialog", 1, 14));
  357           jLabelAbz.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
  358           jLabelAbz.setText("abz.");
  359           jPanelDetailansicht.add(jLabelAbz);
  360           jLabelAbz.setBounds(120, 250, 30, 19);
  361   
  362           jLabelFirma.setFont(new java.awt.Font("Dialog", 1, 14));
  363           jLabelFirma.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
  364           jLabelFirma.setText("Firma");
  365           jPanelDetailansicht.add(jLabelFirma);
  366           jLabelFirma.setBounds(10, 360, 50, 19);
  367   
  368           jLabelName.setFont(new java.awt.Font("Dialog", 1, 14));
  369           jLabelName.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
  370           jLabelName.setText("Name");
  371           jPanelDetailansicht.add(jLabelName);
  372           jLabelName.setBounds(240, 360, 50, 19);
  373   
  374           jLabelQualitaet.setFont(new java.awt.Font("Dialog", 1, 14));
  375           jLabelQualitaet.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
  376           jLabelQualitaet.setText("Lieferqualit\u00e4t");
  377           jPanelDetailansicht.add(jLabelQualitaet);
  378           jLabelQualitaet.setBounds(50, 400, 110, 19);
  379   
  380           jLabelZUverlaessigkeit.setFont(new java.awt.Font("Dialog", 1, 14));
  381           jLabelZUverlaessigkeit.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
  382           jLabelZUverlaessigkeit.setText("Zuverl\u00e4ssigkeit");
  383           jPanelDetailansicht.add(jLabelZUverlaessigkeit);
  384           jLabelZUverlaessigkeit.setBounds(230, 400, 130, 19);
  385   
  386           jTextQualitaet.setEditable(false);
  387           jPanelDetailansicht.add(jTextQualitaet);
  388           jTextQualitaet.setBounds(170, 400, 30, 20);
  389   
  390           jTextZuverlaessigkeit.setEditable(false);
  391           jPanelDetailansicht.add(jTextZuverlaessigkeit);
  392           jTextZuverlaessigkeit.setBounds(370, 400, 30, 20);
  393   
  394           add(jPanelDetailansicht);
  395           jPanelDetailansicht.setBounds(290, 70, 480, 460);
  396   
  397           jPanelLegende.setLayout(null);
  398   
  399           jPanelLegende.setBorder(new javax.swing.border.TitledBorder("Legende"));
  400           jLabelGruen.setText("Lieferung eingegangen");
  401           jPanelLegende.add(jLabelGruen);
  402           jLabelGruen.setBounds(10, 20, 180, 16);
  403   
  404           jLabelRot.setText("Lieferung noch nicht eingegangen");
  405           jPanelLegende.add(jLabelRot);
  406           jLabelRot.setBounds(10, 50, 290, 16);
  407   
  408           add(jPanelLegende);
  409           jPanelLegende.setBounds(10, 450, 270, 80);
  410   
  411       }//GEN-END:initComponents
  412   
  413   	private void formAncestorRemoved(javax.swing.event.AncestorEvent evt) {//GEN-FIRST:event_formAncestorRemoved
  414   		setIsActive(false);
  415   	} //GEN-LAST:event_formAncestorRemoved
  416   
  417   	private void formAncestorAdded(javax.swing.event.AncestorEvent evt) {//GEN-FIRST:event_formAncestorAdded
  418   		setIsActive(true);
  419   	} //GEN-LAST:event_formAncestorAdded
  420   
  421   	private void jTableEtatListeMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTableEtatListeMouseClicked
  422   		getEtatInfo();
  423   	} //GEN-LAST:event_jTableEtatListeMouseClicked
  424   
  425   	private void jTableEtatListeAncestorAdded(javax.swing.event.AncestorEvent evt) {//GEN-FIRST:event_jTableEtatListeAncestorAdded
  426   		getEtatListe();
  427   		showLegende();
  428   	} //GEN-LAST:event_jTableEtatListeAncestorAdded
  429   
  430       // Variables declaration - do not modify//GEN-BEGIN:variables
  431       private javax.swing.JLabel jLabelAbz;
  432       private javax.swing.JLabel jLabelAbz2;
  433       private javax.swing.JLabel jLabelAbzLieferrabatt;
  434       private javax.swing.JLabel jLabelAbzSkonto;
  435       private javax.swing.JLabel jLabelAuftraege;
  436       private javax.swing.JLabel jLabelEtatEinsehen;
  437       private javax.swing.JLabel jLabelEuro;
  438       private javax.swing.JLabel jLabelEuro3;
  439       private javax.swing.JLabel jLabelEuro4;
  440       private javax.swing.JLabel jLabelEuro5;
  441       private javax.swing.JLabel jLabelFirma;
  442       private javax.swing.JLabel jLabelGesamt;
  443       private javax.swing.JLabel jLabelGruen;
  444       private javax.swing.JLabel jLabelLieferant;
  445       private javax.swing.JLabel jLabelName;
  446       private javax.swing.JLabel jLabelNettozahldatum;
  447       private javax.swing.JLabel jLabelPositionen;
  448       private javax.swing.JLabel jLabelProzent;
  449       private javax.swing.JLabel jLabelProzent2;
  450       private javax.swing.JLabel jLabelQualitaet;
  451       private javax.swing.JLabel jLabelRot;
  452       private javax.swing.JLabel jLabelZUverlaessigkeit;
  453       private javax.swing.JLabel jLabelZwischensumme;
  454       private javax.swing.JPanel jPanelDetailansicht;
  455       private javax.swing.JPanel jPanelLegende;
  456       private javax.swing.JScrollPane jScrollPaneEtatListe;
  457       private javax.swing.JScrollPane jScrollPaneEtatPos;
  458       private javax.swing.JSeparator jSeparator;
  459       private javax.swing.JTable jTableEtatListe;
  460       private javax.swing.JTable jTableEtatPos;
  461       private javax.swing.JTextField jTextFieldAnsprechperson;
  462       private javax.swing.JTextField jTextFieldCalcGesamt;
  463       private javax.swing.JTextField jTextFieldCalcLieferrabatt;
  464       private javax.swing.JTextField jTextFieldCalcSkonto;
  465       private javax.swing.JTextField jTextFieldLieferrabatt;
  466       private javax.swing.JTextField jTextFieldNettozahldatum;
  467       private javax.swing.JTextField jTextFieldSkonto;
  468       private javax.swing.JTextField jTextLTFirma;
  469       private javax.swing.JTextField jTextLTSumme;
  470       private javax.swing.JTextField jTextQualitaet;
  471       private javax.swing.JTextField jTextZuverlaessigkeit;
  472       // End of variables declaration//GEN-END:variables
  473   
  474   	/** Erstellt die Einzelteilauftr?ge-Tabelle. */
  475   	public void setEtatTable() {
  476   		try {
  477   			etatListe = dao.getEinzelteilauftraege();
  478   		} catch (WiSimDAOException e) {
  479   			wiSimLogger.log("setEtatTable()", e);
  480   		}
  481   
  482   		etatAnzahl = etatListe.size();
  483   
  484   		//DefaultTableModel mit Variablen Zeilen, 3 TableHeads und nicht editierbaren Zellen
  485   		Object[][] tableInit = new Object[etatAnzahl][4];
  486   		DefaultTableModel defTable =
  487   			new DefaultTableModel(
  488   				tableInit,
  489   				new String[] {
  490   					"Auftragsdatum",
  491   					"Lieferdatum",
  492   					"Nr",
  493   					"Status" }) {
  494   			boolean[] canEdit = new boolean[] { false, false, false, false };
  495   			public boolean isCellEditable(int rowIndex, int columnIndex) {
  496   				return canEdit[columnIndex];
  497   			}
  498   			public Class getColumnClass(int c) {
  499   				return getValueAt(0, c).getClass();
  500   			}
  501   		};
  502   
  503   		jTableEtatListe.setModel(defTable);
  504   		jTableEtatListe.setFocusable(false);
  505   
  506   		//Spaltenbreite
  507   		javax.swing.table.TableColumn column = null;
  508   		for (int i = 0; i < 4; i++) {
  509   			column = jTableEtatListe.getColumnModel().getColumn(i);
  510   			if (i == 2) {
  511   				column.setPreferredWidth(30);
  512   			} else if (i == 3) {
  513   				column.setPreferredWidth(50);
  514   			} else {
  515   				column.setPreferredWidth(100);
  516   			}
  517   		}
  518   
  519   		jTableEtatListe.getTableHeader().setReorderingAllowed(false);
  520   		jTableEtatListe.setDragEnabled(false);
  521   	}
  522   
  523   	/** Erstellt die Einzelteilauftrags-Positionen Tabelle. */
  524   	public void setEtatPosTable() {
  525   		//DefaultTableModel mit Variablen Zeilen, 3 TableHeads und nicht editierbaren Zellen
  526   		Object[][] tableInit = new Object[etatPosAnzahl][3];
  527   		DefaultTableModel defTable =
  528   			new DefaultTableModel(
  529   				tableInit,
  530   				new String[] { "Artikel", "Menge", "Preis" }) {
  531   			boolean[] canEdit = new boolean[] { false, false, false };
  532   			public boolean isCellEditable(int rowIndex, int columnIndex) {
  533   				return canEdit[columnIndex];
  534   			}
  535   		};
  536   		jTableEtatPos.setModel(defTable);
  537   		jTableEtatPos.setEnabled(false);
  538   		jTableEtatPos.getTableHeader().setReorderingAllowed(false);
  539   	}
  540   
  541   	/** Formatiert ein Date Objekt zu einem String TT.MM.JJJJ.
  542   	 * @param dateToFormat Das zu formatierende Datum.
  543   	 * @return Das formatierte Datum.
  544   	 */
  545   	public String formatDate(java.sql.Date dateToFormat) {
  546   		String date = String.valueOf(dateToFormat);
  547   		String year = date.substring(0, 4);
  548   		String month = date.substring(5, 7);
  549   		String day = date.substring(8, 10);
  550   		String formattedDate = day + "." + month + "." + year;
  551   		return formattedDate;
  552   	}
  553   
  554   	/** Berechnet den Gesamtpreis des Einzelteilauftrages, zusammen mit dem Skonto und
  555   	 * Lieferrabatt.
  556   	 */
  557   	public void calculateSum() {
  558   		calcedLieferrabatt = 0;
  559   		calcedSkonto = 0;
  560   		calcedGesamt = 0;
  561   
  562   		calcedLieferrabatt = summe / 100 * lieferrabattToCalc;
  563   		calcedSkonto = (summe - calcedLieferrabatt) / 100 * skontoToCalc;
  564   		calcedGesamt = summe - calcedSkonto - calcedLieferrabatt;
  565   
  566   		jTextFieldCalcLieferrabatt.setText(
  567   			form.format(Math.rint(calcedLieferrabatt * 100) / 100.));
  568   		jTextFieldCalcSkonto.setText(
  569   			form.format(Math.rint(calcedSkonto * 100) / 100.));
  570   		jTextFieldCalcGesamt.setText(
  571   			form.format(Math.rint(calcedGesamt * 100) / 100.));
  572   	}
  573   
  574   	/** Zeigt die Positionen des selektierten Einzelteilauftrages */
  575   	public void getEtatInfo() {
  576   		Einzelteilauftrag etat =
  577   			(Einzelteilauftrag) etatListe.get(jTableEtatListe.getSelectedRow());
  578   
  579   		jTextFieldLieferrabatt.setText(String.valueOf(etat.getLieferrabatt()));
  580   		jTextFieldSkonto.setText(String.valueOf(etat.getSkonto()));		
  581                   
  582                   long nettozahlDatumMili = etat.getAuftragsdatum().getTime() + etat.getSkontofrist()*1000*60*60*24;
  583                   
  584                   GregorianCalendar nettoDatum = new GregorianCalendar();
  585                   nettoDatum.setTimeInMillis(nettozahlDatumMili);
  586   
  587                   String Tag = String.valueOf(nettoDatum.get(Calendar.DATE));
  588                   String Monat = String.valueOf(nettoDatum.get(Calendar.MONTH)+1);
  589                   String Jahr = String.valueOf(nettoDatum.get(Calendar.YEAR));
  590                   jTextFieldNettozahldatum.setText(Tag + "." + Monat + "." + Jahr);               
  591                   
  592   		try {
  593   			etatPos = dao.getEinzelteilAuftragsPositionen(etat.getNr());
  594   			Einzelteilauftragsrechnung etatr =
  595   				dao.getEinzelteilauftragsrechnung(etat.getNr());
  596   			jTextLTSumme.setText(form.format(etatr.getBetrag()));
  597   			summe = etatr.getBetrag();
  598   		} catch (WiSimDAOException e) {
  599   			wiSimLogger.log("getEtatInfo()", e);
  600   		}
  601   
  602   		etatPosAnzahl = etatPos.size();
  603   		setEtatPosTable();
  604   		int i = 0;
  605   
  606   		Iterator etatPos_it = etatPos.iterator();
  607   		while (etatPos_it.hasNext()) {
  608   			EinzelteilauftragPosition etatPosItem =
  609   				(EinzelteilauftragPosition) etatPos_it.next();
  610   
  611   			try {
  612   				Einzelteil et = dao.getEinzelteil(etatPosItem.getEtNr());
  613   				jTableEtatPos.setValueAt(et.getName(), i, 0);
  614   				jTableEtatPos.setValueAt(
  615   					String.valueOf(etatPosItem.getBestellmenge()),
  616   					i,
  617   					1);
  618   				Lieferliste lieferliste =
  619   					dao.getLieferliste(
  620   						etat.getLieferantNr(),
  621   						etatPosItem.getEtNr());
  622   				double preis =
  623   					lieferliste.getPreis() * etatPosItem.getBestellmenge();
  624   				jTableEtatPos.setValueAt(
  625   					form.format(preis),
  626   					i,
  627   					2);
  628   
  629   			} catch (WiSimDAOException e) {
  630   				wiSimLogger.log("getEtatInfo()", e);
  631   			}
  632   			i++;
  633   		}
  634   
  635   		try {
  636   			Lieferant lt = dao.getLieferant(etat.getLieferantNr());
  637   			jTextLTFirma.setText(lt.getFirma());
  638   			jTextFieldAnsprechperson.setText(
  639   				lt.getVorname() + " " + lt.getNachname());
  640   			jTextQualitaet.setText(lt.getLieferqualitaet());
  641   			jTextZuverlaessigkeit.setText(lt.getZuverlaessigkeit());
  642   
  643   		} catch (WiSimDAOException e) {
  644   			wiSimLogger.log("getEtatInfo()", e);
  645   		}
  646   
  647   		skontoToCalc = etat.getSkonto();
  648   		lieferrabattToCalc = etat.getLieferrabatt();
  649   		calculateSum();
  650   	}
  651   
  652   	/** Holt alle Einzelteilauftr?ge aus der Datenbank */
  653   	public void getEtatListe() {
  654   		try {
  655   			etatListe = dao.getEinzelteilauftraege();
  656   		} catch (WiSimDAOException e) {
  657   			wiSimLogger.log("getEtatListe()", e);
  658   		}
  659   
  660   		etatAnzahl = etatListe.size();
  661   		setEtatTable();
  662   		int i = 0;
  663   
  664   		Iterator etatListe_it = etatListe.iterator();
  665   
  666   		while (etatListe_it.hasNext()) {
  667   			Einzelteilauftrag etat = (Einzelteilauftrag) etatListe_it.next();
  668   
  669   			jTableEtatListe.setValueAt(
  670   				formatDate(etat.getAuftragsdatum()),
  671   				i,
  672   				0);
  673   			jTableEtatListe.setValueAt(formatDate(etat.getLieferdatum()), i, 1);
  674   			jTableEtatListe.setValueAt(String.valueOf(etat.getNr()), i, 2);
  675   
  676   			//Status Icon
  677   			Image image = new BufferedImage(28, 30, 2);
  678   			Graphics g = image.getGraphics();
  679   
  680   			if (etat.getLieferdatum().before(wiSimMainController.getActDate())) {
  681   				g.setColor(darkgreen);
  682   			} else {
  683   				g.setColor(red);
  684   			}
  685   			g.fillRoundRect(10, 11, 10, 10, 3, 3);
  686   
  687   			ImageIcon ic = new ImageIcon(image);
  688   
  689   			jTableEtatListe.setValueAt(ic, i, 3);
  690   			i++;
  691   		}
  692   	}
  693   
  694   	/** Zeigt die Legende an */
  695   	public void showLegende() {
  696   		//Legende
  697   		Image imageIconGreen = new BufferedImage(28, 30, 2);
  698   		Graphics g = imageIconGreen.getGraphics();
  699   		g.setColor(darkgreen);
  700   		g.fillRoundRect(10, 11, 10, 10, 3, 3);
  701   		ImageIcon ic = new ImageIcon(imageIconGreen);
  702   		jLabelGruen.setIcon(ic);
  703   
  704   		Image imageIconRed = new BufferedImage(28, 30, 2);
  705   		g = imageIconRed.getGraphics();
  706   		g.setColor(red);
  707   		g.fillRoundRect(10, 11, 10, 10, 3, 3);
  708   		ic = new ImageIcon(imageIconRed);
  709   		jLabelRot.setIcon(ic);
  710   	}
  711   
  712   	/** Erneuert die Einzelteile-Auftrags-Tabelle */
  713   	public void refreshEtatListe() {
  714   		try {
  715   			etatListe = dao.getEinzelteilauftraege();
  716   		} catch (WiSimDAOException e) {
  717   			wiSimLogger.log("refreshEtatListe()", e);
  718   		}
  719   
  720   		int i = 0;
  721   
  722   		Iterator etatListe_it = etatListe.iterator();
  723   
  724   		while (etatListe_it.hasNext()) {
  725   			Einzelteilauftrag etat = (Einzelteilauftrag) etatListe_it.next();
  726   
  727   			//Status Icon
  728   			Image image = new BufferedImage(28, 30, 2);
  729   			Graphics g = image.getGraphics();
  730   
  731   			if (etat
  732   				.getLieferdatum()
  733   				.before(new java.sql.Date(wiSimMainController.getActDate().getTime()))) {
  734   				g.setColor(darkgreen);
  735   			} else {
  736   				g.setColor(red);
  737   			}
  738   			g.fillRoundRect(10, 11, 10, 10, 3, 3);
  739   
  740   			ImageIcon ic = new ImageIcon(image);
  741   
  742   			jTableEtatListe.setValueAt(ic, i, 3);
  743   			i++;
  744   		}
  745   	}
  746   
  747   	/** Setzt die Variable isBuilt
  748   	 * @param isBuilt
  749   	 */
  750   	public void setIsBuilt(boolean isBuilt) {
  751   		this.isBuilt = isBuilt;
  752   	}
  753   
  754   	/** Wurde das Pane schon einmal aufgebaut, so ist "isBuilt" = TRUE.
  755   	 *  Wichtig ist diese Variable f?r die Simulation: Wurde das Pane
  756   	 *  schon einmal aufgebaut, so m?ssen die Simulationsthread das Pane
  757   	 *  nicht noch einmal initialisieren!
  758   	 * @return boolean isBuilt
  759   	 */
  760   	public boolean getIsBuilt() {
  761   		return isBuilt;
  762   	}
  763   
  764   	/** Setzt die Variable isActive auf TRUE oder FALSE
  765   	 * @param isActive
  766   	 */
  767   	public void setIsActive(boolean isActive) {
  768   		this.isActive = isActive;
  769   	}
  770   
  771   	/** Befindet sich der Benutzer auf diesem Pane, so ist "isActive" = TRUE.
  772   	 *  Verl?sst der Benutzer das Pane, so ist "isActive" = FALSE.
  773   	 *  Wichtig ist diese Variable f?r die Simulation: Es wird nur das Pane
  774   	 *  aktualisiert, auf dem sich der Benutzer gerade befindet!
  775   	 * @return boolean isActive
  776   	 */
  777   	public boolean getIsActive() {
  778   		return isActive;
  779   	}
  780   
  781   	/**
  782   	 * Initialisiert die Einzelteilauftrags Liste
  783   	 */
  784   	public void initializeEtatListe() {
  785   		try {
  786   			etatListe = dao.getEinzelteilauftraege();
  787   		} catch (WiSimDAOException e) {
  788   			wiSimLogger.log("JPanelEtatEinsehen()", e);
  789   		}
  790   
  791   		etatAnzahl = etatListe.size();
  792   	}
  793   }

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