*** empty log message ***
[thera-pi.git] / OffenePosten / src / offenePosten / OffenepostenTab.java
blob4cb4c86dc4b5a3ab252c5a6e1f431f97f3da7efe
1 package offenePosten;
3 import java.awt.BorderLayout;
4 import java.io.File;
5 import java.util.Vector;
7 import javax.swing.ImageIcon;
8 import javax.swing.JLabel;
9 import javax.swing.JOptionPane;
10 import javax.swing.JTabbedPane;
11 import javax.swing.SwingUtilities;
12 import javax.swing.event.ChangeEvent;
13 import javax.swing.event.ChangeListener;
15 import org.jdesktop.swingx.JXHeader;
16 import org.jdesktop.swingx.JXPanel;
17 import org.jdesktop.swingx.JXTitledPanel;
19 import rehaBillEdit.RehaBillPanel;
21 import CommonTools.DatFunk;
23 import com.jgoodies.looks.windows.WindowsTabbedPaneUI;
25 public class OffenepostenTab extends JXPanel implements ChangeListener{
27 /**
30 private static final long serialVersionUID = -6012301447745950357L;
32 private Vector<String> vectitel = new Vector<String>();
33 private Vector<String> vecdescript = new Vector<String>();
34 private Vector<ImageIcon> vecimg = new Vector<ImageIcon>();
36 JTabbedPane offenPostenTab = null;
37 public JXTitledPanel jxTitel;
38 public JTabbedPane jtb;
39 public JXHeader jxh;
41 OffenepostenPanel oppanel = null;
42 OffenepostenMahnungen omahnpanel = null;
43 OffenepostenEinstellungen oeinstellungpanel = null;
44 RehaBillPanel rehaBillPanel = null;
45 OffenepostenRgAf oprgaf = null;
46 public OffenepostenTab(){
47 super();
48 setOpaque(false);
49 setLayout(new BorderLayout());
50 jtb = new JTabbedPane();
51 jtb.setUI(new WindowsTabbedPaneUI());
53 oppanel = new OffenepostenPanel(this);
54 jtb.addTab("Rechnungen ausbuchen", oppanel);
56 rehaBillPanel = new RehaBillPanel(this);
57 jtb.addTab("Rechn. korrigieren / - Kopie", rehaBillPanel);
59 omahnpanel = new OffenepostenMahnungen(this);
60 jtb.addTab("Mahnungen erstellen", omahnpanel);
62 oeinstellungpanel = new OffenepostenEinstellungen(this);
63 jtb.addTab("Einstellungen", oeinstellungpanel);
66 oprgaf = new OffenepostenRgAf(this);
67 jtb.addTab("Rezeptgebühr-/Ausfallrechnung", oprgaf);
69 jtb.addChangeListener(this);
70 doHeader();
71 jxh = new JXHeader();
72 ((JLabel)jxh.getComponent(1)).setVerticalAlignment(JLabel.NORTH);
73 add(jxh, BorderLayout.NORTH);
74 add(jtb, BorderLayout.CENTER);
76 jxh.validate();
77 jtb.validate();
78 validate();
82 public void setHeader(int header){
83 jxh.setTitle(vectitel.get(header));
84 jxh.setDescription(vecdescript.get(header));
85 jxh.setIcon(vecimg.get(header));
86 jxh.validate();
90 private void doHeader(){
91 ImageIcon ico;
92 String ss = System.getProperty("user.dir")+File.separator+"icons"+File.separator+"hauptbuch.jpg";
93 ico = new ImageIcon(ss);
94 vectitel.add("Bezahlte Rechnungen ausbuchen / Teilzahlungen buchen");
95 vecdescript.add("<html>Hier haben Sie die Möglichkeit Rechnungen nach verschiedenen Kriterien zu suchen.<br><br>" +
96 "Wenn Sie die Rechnung, die Sie suchen, gefunden haben und die Rechnung <b>vollständig</b> bezahlt wurde,<br>" +
97 "genügt es völlig über Alt+A den Vorgang ausbuchen zu aktivieren.<br><br>"+
98 "Wurde lediglich eine Teilzahlung geleistet, muß zuvor die noch bestehende Restforderung im Textfeld <b>noch offen</b> eingetragen werden.</html>");
99 vecimg.add(ico);
102 vectitel.add("Rechnung korrigieren / Kopie erstellen");
103 vecdescript.add("Hier können Sie die Details der gewählten Rechnung einsehen,\n" +
104 "Rechnungsdaten korrigieren (bei Abrechnungen nach §302 nur eingeschränkt)\n" +
105 "und Kopien der Rechnung drucken.");
106 vecimg.add(ico);
108 vectitel.add("Mahnwesen");
109 vecdescript.add("<html>Hier erzeugen Sie Mahnungen für noch nicht bezahlte Rechnungen.<br><br>" +
110 "Button <b>[los..]</b> listet die Rechnungen, bei denen noch ein Betrag offen ist und<br>" +
111 "die in der eingestellten Mahnstufe noch nicht gemahnt wurden.</html>");
112 ss = System.getProperty("user.dir")+File.separator+"icons"+File.separator+"Mahnung.png";
113 ico = new ImageIcon(ss);
114 vecimg.add(ico);
116 vectitel.add("Voreinstellungen für das Mahnwesen");
117 vecdescript.add("Hier sind die Grundeinstellungen\n" +
118 "der Mahnfunktion zu finden.");
119 ss = System.getProperty("user.dir")+File.separator+"icons"+File.separator+"einstellungen.jpg";
120 ico = new ImageIcon(ss);
121 vecimg.add(ico);
123 vectitel.add("Rezeptgebührrechungen / Ausfallrechnungen");
124 vecdescript.add("....Experimentierpanal von Bodo und Jürgen.\n" +
125 "Hier werden die Funktionen die später Nebraska zu dem machen was Nebraske ist\n"+
126 "entwickelt und getestet");
127 vecimg.add(ico);
132 @Override
133 public void stateChanged(ChangeEvent arg0) {
134 JTabbedPane pane = (JTabbedPane)arg0.getSource();
135 int sel = pane.getSelectedIndex();
136 try{
137 if(sel==0){
138 SwingUtilities.invokeLater(new Runnable(){
139 public void run(){
140 oppanel.setzeFocus();
144 }else if(sel==1){
145 SwingUtilities.invokeLater(new Runnable(){
146 public void run(){
147 rehaBillPanel.setzeFocus();
152 }catch(Exception ex){
155 jxh.setTitle(vectitel.get(sel));
156 jxh.setDescription(vecdescript.get(sel));
157 jxh.setIcon(vecimg.get(sel));
159 public void setFirstFocus(){
160 SwingUtilities.invokeLater(new Runnable(){
161 public void run(){
162 oppanel.setzeFocus();
166 public void setOnBillPanel(String suchkrit){
167 rehaBillPanel.setOnBillPanel(suchkrit);
169 public String getNotBefore(){
170 try{
171 return DatFunk.sDatInSQL(oeinstellungpanel.tfs[4].getText());
172 }catch(Exception ex){
173 JOptionPane.showMessageDialog(null,"Fehler beim Bezug des Startdatums, nehme 01.01.1995");
175 return "1995-01-01";
177 public int getFrist(int frist){
178 if(frist == 1){
179 try{
180 return Integer.parseInt(oeinstellungpanel.tfs[0].getText());
181 }catch(Exception ex){
182 JOptionPane.showMessageDialog(null,"Fehler beim Bezug der Frist Tage für Mahnstufe 1, nehme 31 Tage");
184 return 31;
186 if(frist == 2){
187 try{
188 return Integer.parseInt(oeinstellungpanel.tfs[1].getText());
189 }catch(Exception ex){
190 JOptionPane.showMessageDialog(null,"Fehler beim Bezug der Frist Tage für Mahnstufe 1, nehme 11 Tage");
192 return 11;
194 if(frist == 3){
195 try{
196 return Integer.parseInt(oeinstellungpanel.tfs[2].getText());
197 }catch(Exception ex){
198 JOptionPane.showMessageDialog(null,"Fehler beim Bezug der Frist Tage für Mahnstufe 3, nehme 11 Tage");
200 return 11;
203 return -1;
205 public void refreshData(){
206 oppanel.refreshData();