3 import hauptFenster
.Reha
;
5 import java
.awt
.BorderLayout
;
7 import java
.awt
.Dimension
;
9 import java
.awt
.event
.KeyEvent
;
10 import java
.awt
.event
.KeyListener
;
11 import java
.awt
.event
.WindowEvent
;
12 import java
.awt
.event
.WindowListener
;
13 import java
.text
.DecimalFormat
;
14 import java
.util
.Vector
;
16 import javax
.swing
.BorderFactory
;
17 import javax
.swing
.ImageIcon
;
18 import javax
.swing
.JButton
;
19 import javax
.swing
.JDialog
;
20 import javax
.swing
.JEditorPane
;
21 import javax
.swing
.JLabel
;
22 import javax
.swing
.JOptionPane
;
23 import javax
.swing
.JScrollPane
;
24 import javax
.swing
.SwingUtilities
;
25 import javax
.swing
.event
.HyperlinkEvent
;
26 import javax
.swing
.event
.HyperlinkListener
;
27 import javax
.swing
.text
.BadLocationException
;
28 import javax
.swing
.text
.SimpleAttributeSet
;
29 import javax
.swing
.text
.StyleConstants
;
31 import org
.jdesktop
.swingx
.JXPanel
;
33 import stammDatenTools
.RezTools
;
34 import systemEinstellungen
.SystemConfig
;
35 import systemEinstellungen
.SystemPreislisten
;
37 import CommonTools
.StringTools
;
38 import CommonTools
.JCompTools
;
39 import CommonTools
.SqlInfo
;
41 import com
.jgoodies
.forms
.layout
.CellConstraints
;
42 import com
.jgoodies
.forms
.layout
.FormLayout
;
44 public class InfoDialog
extends JDialog
implements WindowListener
{
48 private static final long serialVersionUID
= -2903001967749371315L;
49 private JLabel textlab
;
50 private JLabel bildlab
;
51 private KeyListener kl
;
52 Font font
= new Font("Arial",Font
.PLAIN
,12);
54 private String arg1
= null;
55 private String infoArt
= null;
56 JEditorPane htmlPane1
= null;
57 JEditorPane htmlPane2
= null;
59 Vector
<Vector
<String
>> vecResult
= null;
60 Vector
<String
> tage
= null;
61 Vector
<Vector
<String
>> tageplus
= null;
62 boolean historie
= false;
63 boolean notfound
= false;
64 String endhinweis
= "";
65 JScrollPane scr1
= null;
66 JScrollPane scr2
= null;
68 String last12Wo
= null;
70 String disziplin
= "";
73 DecimalFormat df
= new DecimalFormat( "0.00" );
75 public InfoDialog(String arg1
,String infoArt
,Vector
<Vector
<String
>> data
) {
80 this.infoArt
= infoArt
;
82 this.setLayout(new BorderLayout());
83 if(this.infoArt
.equals("terminInfo")){
84 //this.getContentPane().setLayout(new BorderLayout());
85 //this.add(getTerminInfoContent());
86 this.setContentPane(getTerminInfoContent());
87 }else if(this.infoArt
.equals("offenRGAF")){
88 this.setContentPane(getOffeneRechnungenInfoContent(data
));
90 this.setContentPane(getContent());
93 this.setDefaultCloseOperation(DISPOSE_ON_CLOSE
);
94 this.addKeyListener(kl
);
96 this.getContentPane().validate();
99 public JXPanel
getTerminInfoContent(){
100 JXPanel jpan
= new JXPanel();
101 jpan
.addKeyListener(kl
);
102 //jpan.setPreferredSize(new Dimension(400,100));
103 jpan
.setBackground(Color
.WHITE
);
104 jpan
.setBorder(BorderFactory
.createLineBorder(Color
.BLACK
));
105 //jpan.setPreferredSize(new Dimension(1000,750));
106 FormLayout lay
= new FormLayout("5dlu,p:g,p,p:g,5dlu",
107 "5dlu,p,5dlu,p,p,max(350dlu;p),0dlu,100dlu,5dlu");
109 CellConstraints cc
= new CellConstraints();
110 bildlab
= new JLabel(" ");
111 bildlab
.setIcon(SystemConfig
.hmSysIcons
.get("tporgklein"));
112 jpan
.add(bildlab
,cc
.xy(3, 2,CellConstraints
.FILL
,CellConstraints
.DEFAULT
));
113 htmlPane1
= new JEditorPane(/*initialURL*/);
114 htmlPane1
.setContentType("text/html");
115 htmlPane1
.setEditable(false);
116 htmlPane1
.setOpaque(false);
117 htmlPane1
.addKeyListener(kl
);
118 //htmlPane1.setPreferredSize(new Dimension(1000,750));
119 //htmlPane.addHyperlinkListener(this);
120 scr1
= JCompTools
.getTransparentScrollPane(htmlPane1
);
123 jpan
.add(scr1
,cc
.xywh(2,4,3, 3,CellConstraints
.FILL
,CellConstraints
.FILL
));
125 htmlPane2
= new JEditorPane(/*initialURL*/);
126 htmlPane2
.setContentType("text/html");
127 htmlPane2
.setEditable(false);
128 htmlPane2
.setOpaque(false);
129 htmlPane2
.addKeyListener(kl
);
132 scr2
= JCompTools
.getTransparentScrollPane(htmlPane2
);
134 jpan
.add(scr2
,cc
.xyw(2,8,3,CellConstraints
.FILL
,CellConstraints
.FILL
));
138 htmlPane1
.addHyperlinkListener(new HyperlinkListener() {
139 public void hyperlinkUpdate(HyperlinkEvent e
) {
140 if(e
.getEventType() == HyperlinkEvent
.EventType
.ACTIVATED
){
141 if( extractFieldName(e
.getURL().toString()).equals("weiteretermine") ){
142 System
.err
.println(e
.getURL().toString());
143 htmlPane1
.requestFocus();
144 //hier muß der Suchendialog gestartet werden
145 JOptionPane
.showMessageDialog(null,"Hier erscheint der Suchendialog");
150 private String
extractFieldName(String url
){
151 String ext
= url
.substring(7);
152 return ext
.replace(".de", "");
160 public JXPanel
getOffeneRechnungenInfoContent(Vector
<Vector
<String
>> vdata
){
161 JXPanel jpan
= new JXPanel();
162 jpan
.addKeyListener(kl
);
163 //jpan.setPreferredSize(new Dimension(400,100));
164 jpan
.setBackground(Color
.WHITE
);
165 jpan
.setBorder(BorderFactory
.createLineBorder(Color
.BLACK
));
167 FormLayout lay
= new FormLayout("5dlu,fill:0:grow(0.5),p,fill:0:grow(0.5),5dlu",
168 "5dlu,p,5dlu,p,p,250dlu,5dlu,2dlu,150dlu:g,5dlu");
170 CellConstraints cc
= new CellConstraints();
171 bildlab
= new JLabel(" ");
172 bildlab
.setIcon(SystemConfig
.hmSysIcons
.get("tporgklein"));
173 jpan
.add(bildlab
,cc
.xy(3, 2));
174 htmlPane1
= new JEditorPane(/*initialURL*/);
175 htmlPane1
.setContentType("text/html");
176 htmlPane1
.setEditable(false);
177 htmlPane1
.setOpaque(false);
178 htmlPane1
.addKeyListener(kl
);
179 //htmlPane.addHyperlinkListener(this);
180 scr1
= JCompTools
.getTransparentScrollPane(htmlPane1
);
182 jpan
.add(scr1
,cc
.xywh(2,4,3, 4));
184 htmlPane2
= new JEditorPane(/*initialURL*/);
185 htmlPane2
.setContentType("text/html");
186 htmlPane2
.setEditable(false);
187 htmlPane2
.setOpaque(false);
188 htmlPane2
.addKeyListener(kl
);
189 scr2
= JCompTools
.getTransparentScrollPane(htmlPane2
);
191 jpan
.add(scr2
,cc
.xywh(2,8,3,2));
193 holeOffeneRechnungen(vdata
);
200 private void activateListener(){
201 kl
= new KeyListener(){
203 public void keyTyped(KeyEvent e
) {
204 // TODO Auto-generated method stub
209 public void keyPressed(KeyEvent e
) {
210 // TODO Auto-generated method stub
215 public void keyReleased(KeyEvent e
) {
216 if(e
.getKeyCode()==KeyEvent
.VK_F1
&& (!e
.isControlDown()) && (!e
.isShiftDown())){
224 public JXPanel
getContent(){
225 JXPanel jpan
= new JXPanel();
226 jpan
.addKeyListener(kl
);
227 jpan
.setPreferredSize(new Dimension(400,100));
228 jpan
.setBackground(Color
.WHITE
);
229 jpan
.setBorder(BorderFactory
.createLineBorder(Color
.BLACK
));
231 FormLayout lay
= new FormLayout("fill:0:grow(0.5),p,fill:0:grow(0.5)",
232 "fill:0:grow(0.25),p,15dlu,p,fill:0:grow(0.75)");
234 CellConstraints cc
= new CellConstraints();
235 bildlab
= new JLabel(" ");
236 bildlab
.setIcon(SystemConfig
.hmSysIcons
.get("tporgklein"));
237 jpan
.add(bildlab
,cc
.xy(2, 2));
238 textlab
= new JLabel(" ");
239 textlab
.setFont(font
);
240 textlab
.setForeground(Color
.BLUE
);
241 jpan
.add(textlab
,cc
.xy(2, 4,CellConstraints
.CENTER
,CellConstraints
.CENTER
));
248 public void setzeLabel(String labelText
){
249 textlab
.setText(labelText
);
250 textlab
.getParent().validate();
253 } catch (InterruptedException e
) {
258 public void windowOpened(WindowEvent e
) {
261 public void windowClosing(WindowEvent e
) {
264 public void windowClosed(WindowEvent e
) {
267 public void windowIconified(WindowEvent e
) {
270 public void windowDeiconified(WindowEvent e
) {
273 public void windowActivated(WindowEvent e
) {
276 public void windowDeactivated(WindowEvent e
) {
279 private void holeTerminInfo(){
280 //vecResult = SqlInfo.holeFelder("select lastdate,termine from verordn where rez_nr = '"+macheNummer(this.arg1)+"' LIMIT 1");
281 vecResult
= SqlInfo
.holeFelder("select t1.lastdate,t1.termine,t2.n_name,t2.v_name,t1.kuerzel1,t1.anzahl1,t1.kuerzel2,t1.anzahl2,t1.kuerzel3,t1.anzahl3,t1.kuerzel4,t1.anzahl4,ktraeger,rezeptart,zzstatus,preisgruppe,rez_datum,arztbericht,berid from verordn as t1 join pat5 as t2 on(t2.pat_intern = t1.pat_intern) where t1.rez_nr = '"+macheNummer(this.arg1
)+"' LIMIT 1");
282 if(vecResult
.size()<=0){
284 vecResult
= SqlInfo
.holeFelder("select t1.lastdate,t1.termine,t2.n_name,t2.v_name,t1.kuerzel1,t1.anzahl1,t1.kuerzel2,t1.anzahl2,t1.kuerzel3,t1.anzahl3,t1.kuerzel4,t1.anzahl4,ktraeger,rezeptart,zzstatus,preisgruppe,rez_datum,arztbericht,berid from lza as t1 join pat5 as t2 on(t2.pat_intern = t1.pat_intern) where t1.rez_nr = '"+macheNummer(this.arg1
)+"' LIMIT 1");
285 if(vecResult
.size() > 0){
286 JOptionPane
.showMessageDialog(null,"Dieses Rezept ist bereits in der Historie - also abgerechnet!"+"\nRezeptnummer: "+this.arg1
);
288 JOptionPane
.showMessageDialog(null,"Dieses Rezept ist weder im aktuellen Rezeptstamm noch in der Historie - also gelöscht!"+"\nRezeptnummer: "+this.arg1
);
290 SwingUtilities
.invokeLater(new Runnable(){
299 //int frist = (Integer)((Vector<?>)SystemPreislisten.hmFristen.get(disziplin).get((erstebehandlung ? 0 : 2))).get(preisgruppe);
300 disziplin
= StringTools
.getDisziplin(this.arg1
);
302 tagebreak
= (Integer
)((Vector
<?
>)SystemPreislisten
.hmFristen
.get(disziplin
).get(2)).get(Integer
.parseInt(vecResult
.get(0).get(15))-1 );
304 }catch(Exception ex
){
306 ex
.printStackTrace();
312 private void fuelleHTML(){
314 String shtml
= ladehead()+
317 htmlPane1
.setText(shtml
);
319 htmlPane1
.validate();
320 SwingUtilities
.invokeLater(new Runnable(){
322 if(scr1
.isVisible()){
323 scr1
.getVerticalScrollBar().setValue(0);
324 //scr1.getViewport().scrollRectToVisible(new Rectangle(0,0));
332 htmlPane2
.setText(shtml
);
334 htmlPane2
.validate();
335 SwingUtilities
.invokeLater(new Runnable(){
337 if(scr2
.isVisible()){
338 scr2
.getVerticalScrollBar().setValue(0);
339 //scr1.getViewport().scrollRectToVisible(new Rectangle(0,0));
346 }catch(Exception ex
){
347 ex
.printStackTrace();
350 public static String
macheNummer(String string
){
351 if(string
.indexOf("\\") >= 0){
352 return string
.substring(0,string
.indexOf("\\"));
356 /***************************************************/
357 public String
getErgebnisTeil(){
358 StringBuffer ergebnis
= new StringBuffer();
359 if(tage
.size() == Integer
.parseInt(vecResult
.get(0).get(5))){
360 ergebnis
.append("<span "+getSpanStyle("12","#ff0000")+"<b>Das Rezept ist voll</b></span>\n");
361 }else if(tage
.size() > 0 && tage
.size() < Integer
.parseInt(vecResult
.get(0).get(5))){
362 String slastdate
= DatFunk
.sDatPlusTage(tage
.get(tage
.size()-1), tagebreak
);
363 String lastdate
= DatFunk
.WochenTag(slastdate
)+" "+slastdate
;
365 if( (diff
= DatFunk
.TageDifferenz(slastdate
, DatFunk
.sHeute())) > 0 ){
366 ergebnis
.append("<span "+getSpanStyle("14","#ff0000")+"<b>"+lastdate
+"</b></span><br>"+"<span "+getSpanStyle("10","")+"Maximale Unterbrechung verpasst "+lastdate
+"!! ("+Integer
.toString(tagebreak
)+" Tage)</span>\n");
368 ergebnis
.append("<span "+getSpanStyle("14","#008000")+"<b>"+lastdate
+"</b></span><br>"+"<span "+getSpanStyle("10","")+"nächster Termin spätestens am " +lastdate
+" ("+Integer
.toString(tagebreak
)+" Tage)</span>\n");
371 }else if(tage
.size() == 0){
373 if((diff
= DatFunk
.TageDifferenz(DatFunk
.sDatInDeutsch(vecResult
.get(0).get(0)), DatFunk
.sHeute())) > 0){
374 ergebnis
.append("<span "+getSpanStyle("14","#ff0000")+"<b>"+DatFunk
.sDatInDeutsch(vecResult
.get(0).get(0))+"</b></span><br>"+"<span "+getSpanStyle("10","")+"Achtung Behandlungsbeginn heute überschreitet<br>den spätestesn Behandlungsbeginn<br>um "+Long
.toString(diff
)+" Tage!!</span>\n");
376 ergebnis
.append("<span "+getSpanStyle("14","#008000")+"<b>"+DatFunk
.sDatInDeutsch(vecResult
.get(0).get(0))+"</b></span><br>"+"<span "+getSpanStyle("10","")+"Behandlung noch nicht begonnen stand heute<br>spätester Behandlungsbeginn<br>in "+Long
.toString(diff
)+" Tage(n)!!</span>\n");
379 //jetzt den Saich mit der 12-Wochenfrist für ADR
380 if(vecResult
.get(0).get(13).equals("2") && tage
.size() > 0){
381 String lastdate
= DatFunk
.sDatPlusTage(tage
.get(0), (12*7)-1);
382 long diff
= DatFunk
.TageDifferenz(lastdate
, DatFunk
.sHeute());
384 ergebnis
.append("<span "+getSpanStyle("14","#ff0000")+"<br><br><b>"+DatFunk
.WochenTag(lastdate
)+" "+lastdate
+" VO-AdR</b></span><br>"+"<span "+getSpanStyle("10","")+"letzter Behandlungstermin spätestens am "+lastdate
+" (12 Wochenfrist)</span>\n");
386 ergebnis
.append("<span "+getSpanStyle("14","#008000")+"<br><br><b>"+DatFunk
.WochenTag(lastdate
)+" "+lastdate
+" VO-AdR</b></span><br>"+"<span "+getSpanStyle("10","")+"letzter Behandlungstermin spätestens am "+lastdate
+" (12 Wochenfrist)</span>\n");
388 }else if(!vecResult
.get(0).get(13).equals("2") && Integer
.parseInt(vecResult
.get(0).get(5)) >= 10){
389 String lastdate
= DatFunk
.sDatPlusTage(tage
.get(0), (12*7)-1);
390 long diff
= DatFunk
.TageDifferenz(lastdate
, DatFunk
.sHeute());
392 ergebnis
.append("<span "+getSpanStyle("14","#ff0000")+"<br><br><b>"+DatFunk
.WochenTag(lastdate
)+" "+lastdate
+"</b></span><br>"+"<span "+getSpanStyle("10","")+"letzter Behandlungstermin spätestens am "+lastdate
+" (12 Wochenfrist)</span>\n");
394 ergebnis
.append("<span "+getSpanStyle("14","#008000")+"<br><br><b>"+DatFunk
.WochenTag(lastdate
)+" "+lastdate
+"</b></span><br>"+"<span "+getSpanStyle("10","")+"letzter Behandlungstermin spätestens am "+lastdate
+" (12 Wochenfrist)</span>\n");
401 return ergebnis
.toString();
403 /***************************************************/
404 public String
getMittelTeil(){
405 StringBuffer mitte
= new StringBuffer();
406 boolean zuzahl
= (vecResult
.get(0).get(14).equals("0") ?
false : true);
407 tage
= RezTools
.holeEinzelTermineAusRezept("",vecResult
.get(0).get(1)) ;
408 tageplus
= RezTools
.holeTermineUndBehandlerAusRezept("", vecResult
.get(0).get(1));
409 Object
[] otest
= {null,null};
410 /**********************/
411 if(tageplus
.size()/*tage.size()*/ > 0){
412 last12Wo
= DatFunk
.sDatPlusTage(tageplus
.get(0).get(0)/*tage.get(0)*/, (12*7)-1);
414 last12Wo
= DatFunk
.sDatPlusTage(DatFunk
.sDatInDeutsch(vecResult
.get(0).get(0)), (12*7)-1);
417 //System.out.println("12 Wochenfrist läuft ab am "+last12Wo);
418 /*********************/
420 mitte
.append("<span "+getSpanStyle("12","")+StringTools
.EGross(vecResult
.get(0).get(2))+", "+StringTools
.EGross(vecResult
.get(0).get(3))+"<br>Rezeptnummer: "+this.arg1
+
421 "<br>"+StringTools
.EGross(vecResult
.get(0).get(12))+"</span>"+"<br><br>\n");
422 mitte
.append("<span "+getSpanStyle("10","")+getPositionen()+"</span>"+"<br><br>\n");
425 mitte
.append("<span "+getSpanStyle("10","")+"Rezeptgebühr: </span><span "+getSpanStyle("10","#008000")+ "<b>nicht erforderlich oder befreit</b>"+"</span>"+"<br>\n");
427 if(vecResult
.get(0).get(14).equals("1")){
428 mitte
.append("<span "+getSpanStyle("10","")+"Rezeptgebühr: </span><span "+getSpanStyle("10","#008000")+ "<b>bezahlt</b>"+"</span>"+"<br>\n");
429 }else if(vecResult
.get(0).get(14).equals("2")){
430 mitte
.append("<span "+getSpanStyle("10","")+"Rezeptgebühr: </span><span "+getSpanStyle("10","#ff0000")+ "<b>nicht bezahlt</b>"+"</span>"+"<br>\n");
434 if(vecResult
.get(0).get(17).equals("T")){
435 if(vecResult
.get(0).get(18).equals("") || vecResult
.get(0).get(18).equals("-1") || vecResult
.get(0).get(18).equals("0") ){
436 mitte
.append("<span "+getSpanStyle("10","")+"Arztbericht: </span><span "+getSpanStyle("10","#ff0000")+ "<b>noch nicht erstellt</b>"+"</span>"+"<br>\n");
438 mitte
.append("<span "+getSpanStyle("10","")+"Arztbericht: </span><span "+getSpanStyle("10","#008000")+ "<b>bereits angelegt</b>"+"</span>"+"<br>\n");
441 mitte
.append("<span "+getSpanStyle("10","")+"Bislang durchgeführt: <b>"+Integer
.toString(tageplus
.size()/*tage.size()*/)+" von "+vecResult
.get(0).get(5)+"</b></span>"+"<br>\n");
442 mitte
.append("<span "+getSpanStyle("10","")+"Rezeptdatum: <b>"+DatFunk
.sDatInDeutsch(vecResult
.get(0).get(16))+"</b></span>"+"<br>\n");
443 mitte
.append("<span "+getSpanStyle("10","")+"Spätester Behandlungsbeginn: <b>"+DatFunk
.sDatInDeutsch(vecResult
.get(0).get(0))+"</b></span>"+"<br><br>\n");
445 int pghmr
= Integer
.parseInt(vecResult
.get(0).get(15));
446 String disziplin
= StringTools
.getDisziplin(this.arg1
);
448 if(SystemPreislisten
.hmHMRAbrechnung
.get(disziplin
).get(pghmr
-1) < 1){
449 mitte
.append("<span "+getSpanStyle("14","#ff0000")+"<b>Keine HMR-Prüfung erforderlich</b>"+"</span>"+"<br><br>\n");
451 mitte
.append("<table width='100%'>\n");
452 /***********************************************************************************/
456 for(int i
= 0; i
< tageplus
.size()/*tage.size()*/;i
++){
457 mitte
.append("<tr>\n");
458 mitte
.append("<td class='itemkleinodd'>"+Integer
.toString(i
+1)+"</td>\n");
459 mitte
.append("<td class='itemkleinodd' align=\"center\">"+tageplus
.get(i
).get(0)/*tage.get(i)*/+"</td>\n");
462 //zuerst testen ob vor dem Rezeptdatum begonnen wurde
463 if( (diff1
=DatFunk
.TageDifferenz(DatFunk
.sDatInDeutsch(vecResult
.get(0).get(16)), tageplus
.get(i
).get(0)/*tage.get(i)*/)) < 0){
464 mitte
.append("<td><img src='file:///"+Reha
.proghome
+"icons/nichtok.gif"+"'>"+" < Rezeptdatum<br>"+Long
.toString(diff1
)+" Tage"+"</td>\n");
465 mitte
.append("<td> </td>\n");
466 //mitte.append("<td><img src='file:///"+Reha.proghome+"icons/nichtok.gif"+"'>"+"</td>\n");
467 //mitte.append("<td>"+" < Rezeptdatum<br>"+Long.toString(diff1)+" Tage"+"</td>\n");
469 if( (diff
= DatFunk
.TageDifferenz(DatFunk
.sDatInDeutsch(vecResult
.get(0).get(0)), tageplus
.get(i
).get(0)/*tage.get(i)*/)) > 0){
470 mitte
.append("<td><img src='file:///"+Reha
.proghome
+"icons/nichtok.gif"+"'>"+" > "+Long
.toString(diff
)+" Tage"+"</td>\n");
471 //mitte.append("<td><img src='file:///"+Reha.proghome+"icons/nichtok.gif"+"'>"+"</td>\n");
472 //mitte.append("<td> > "+Long.toString(diff)+" Tage</td>\n");
473 otest
= Wochen12Test(last12Wo
,tageplus
.get(i
).get(0)/*tage.get(i)*/);
474 if( ((Boolean
)otest
[0]) == (Boolean
) true){
475 mitte
.append("<td><img src='file:///"+Reha
.proghome
+"icons/nichtok.gif"+"'>"+/*otest[1].toString()*/""+" 12 Wo."+"</td>\n");
477 mitte
.append("<td><img src='file:///"+Reha
.proghome
+"icons/ok.gif"+"'>"+/*otest[1].toString()*/""+" 12 Wo."+"</td>\n");
478 //mitte.append("<td><img src='file:///"+Reha.proghome+"icons/ok.gif"+"'>"+"</td>\n");
479 //mitte.append("<td>"+" 12 Wo."+"</td>\n");
482 mitte
.append("<td><img src='file:///"+Reha
.proghome
+"icons/ok.gif"+"'>"+" <= "+Long
.toString(diff
)+" Tage"+"</td>\n");
483 otest
= Wochen12Test(last12Wo
,tageplus
.get(i
).get(0)/*tage.get(i)*/);
484 if( ((Boolean
)otest
[0]) == (Boolean
) true){
485 mitte
.append("<td><img src='file:///"+Reha
.proghome
+"icons/nichtok.gif"+"'>"+/*otest[1].toString()*/""+" 12 Wo."+"</td>\n");
486 //mitte.append("<td><img src='file:///"+Reha.proghome+"icons/nichtok.gif"+"'>"+"</td>\n");
487 //mitte.append("<td>"+" 12 Wo."+"</td>\n");
489 mitte
.append("<td><img src='file:///"+Reha
.proghome
+"icons/ok.gif"+"'>"+/*otest[1].toString()*/""+" 12 Wo."+"</td>\n");
490 //mitte.append("<td><img src='file:///"+Reha.proghome+"icons/ok.gif"+"'>"+"</td>\n");
491 //mitte.append("<td>"+" 12 Wo."+"</td>\n");
495 mitte
.append("<td>"+tageplus
.get(i
).get(1)+"</td>\n");
497 if( (diff
= DatFunk
.TageDifferenz(tageplus
.get(i
-1).get(0)/*tage.get(i-1)*/,tageplus
.get(i
).get(0)/*tage.get(i)*/)) > tagebreak
){
498 mitte
.append("<td><img src='file:///"+Reha
.proghome
+"icons/nichtok.gif"+"'>"+" > "+Long
.toString(diff
)+" Tage"+"</td>\n");
499 otest
= Wochen12Test(last12Wo
,tageplus
.get(i
).get(0)/*tage.get(i)*/);
500 if( ((Boolean
)otest
[0]) == (Boolean
) true){
501 mitte
.append("<td><img src='file:///"+Reha
.proghome
+"icons/nichtok.gif"+"'>"+/*otest[1].toString()*/""+" 12 Wo."+"</td>\n");
503 mitte
.append("<td><img src='file:///"+Reha
.proghome
+"icons/ok.gif"+"'>"+/*otest[1].toString()*/""+" 12 Wo."+"</td>\n");
507 mitte
.append("<td><img src='file:///"+Reha
.proghome
+"icons/ok.gif"+"'>"+" <= "+Long
.toString(diff
)+" Tage"+"</td>\n");
508 otest
= Wochen12Test(last12Wo
,tageplus
.get(i
).get(0)/*tage.get(i)*/);
509 if( ((Boolean
)otest
[0]) == (Boolean
) true){
510 mitte
.append("<td><img src='file:///"+Reha
.proghome
+"icons/nichtok.gif"+"'>"+/*otest[1].toString()*/""+" 12 Wo."+"</td>\n");
512 mitte
.append("<td><img src='file:///"+Reha
.proghome
+"icons/ok.gif"+"'>"+/*otest[1].toString()*/""+" 12 Wo."+"</td>\n");
516 mitte
.append("<td style='white-space: nowrap;'>"+tageplus
.get(i
).get(1)+"</td>\n");
517 //mitte.append("<td style='white-space: nowrap;'> </td>\n");
520 mitte
.append("</tr>\n");
522 /***********************************************************************************/
523 mitte
.append("<tr><td> </td>\n");
524 mitte
.append("<td align=\"center\">"+makeLink("fragezeichen.png","weiteretermine")+"</td></tr>");
525 mitte
.append("</table>\n");
527 mitte.append("<br>");
528 mitte.append("<form action='http://fakeurl.com:1'><input type='submit' value=' Folgetermine ? ' /></form>");
530 // mitte.append("<object classid=\"javax.swing.JButton\" label=\" Folgetermine ?\"></object>");
532 return mitte
.toString();
534 /***************************************************/
535 private String
makeLink(String ico
, String url
){
536 String linktext
= "<img src='file:///"+Reha
.proghome
+"icons/"+ico
+"' border=0>";
537 linktext
= "<a href=\"http://"+url
+".de\">"+linktext
+"</a>\n";
541 private Object
[] Tage28Test(String datumalt
,String datumneu
){
542 Object
[] oret
= {null,null};
546 private Object
[] Wochen12Test(String datumalt
,String datumneu
){
547 Object
[] oret
= {null,null};
549 wert
= DatFunk
.TageDifferenz(datumalt
,datumneu
);
550 oret
[1] = (int) Integer
.parseInt( Long
.toString(wert
-1) );
552 oret
[0] = (Boolean
) true;
554 oret
[0] = (Boolean
) false;
556 return (Object
[])oret
.clone();
558 private String
getPositionen(){
559 StringBuffer positionen
= new StringBuffer();
560 positionen
.append( (!vecResult
.get(0).get(4).equals("") ? vecResult
.get(0).get(5)+" x "+vecResult
.get(0).get(4) : "")+
561 (!vecResult
.get(0).get(6).equals("") ?
", "+vecResult
.get(0).get(7)+" x "+vecResult
.get(0).get(6) : "")+
562 (!vecResult
.get(0).get(8).equals("") ?
", "+vecResult
.get(0).get(9)+" x "+vecResult
.get(0).get(8) : "")+
563 (!vecResult
.get(0).get(10).equals("") ?
", "+vecResult
.get(0).get(11)+" x "+vecResult
.get(0).get(10) : "") );
565 return positionen
.toString();
567 private String
getSpanStyle(String pix
,String color
){
568 return "style='font-family: Arial, Helvetica, sans-serif; font-size: "+pix
+"px;"+(color
.length()>0 ?
"color: "+color
+";" : "")+ " '>";
570 final StringBuffer bufhead
= new StringBuffer();
571 final StringBuffer bufend
= new StringBuffer();
572 public String
ladehead(){
573 bufhead
.append("<html>\n<head>\n");
574 bufhead
.append("<STYLE TYPE=\"text/css\">\n");
575 bufhead
.append("<!--\n");
576 bufhead
.append("A{text-decoration:none;background-color:transparent;border:none}\n");
577 bufhead
.append("A.even{text-decoration:underline;color: #000000; background-color:transparent;border:none}\n");
578 bufhead
.append("A.odd{text-decoration:underline;color: #FFFFFF;background-color:transparent;border:none}\n");
579 bufhead
.append("TD{font-family: Arial; font-size: 12pt; vertical-align: top;white-space: nowrap;}\n");
580 bufhead
.append("TD.inhalt {font-family: Arial, Helvetica, sans-serif; font-size: 20px;background-color: #7356AC;color: #FFFFFF;}\n");
581 bufhead
.append("TD.inhaltinfo {font-family: Arial, Helvetica, sans-serif; font-size: 20px;background-color: #DACFE7; color: #1E0F87;}\n");
582 bufhead
.append("TD.headline1 {font-family: Arial, Helvetica, sans-serif; font-size: 14px; background-color: #EADFF7; color: #000000;}\n");
583 bufhead
.append("TD.headline2 {font-family: Arial, Helvetica, sans-serif; font-size: 14px; background-color: #DACFE7; color: #000000;}\n");
584 bufhead
.append("TD.headline3 {font-family: Arial, Helvetica, sans-serif; font-size: 14px; background-color: #7356AC; color: #FFFFFF;}\n");
585 bufhead
.append("TD.headline4 {font-family: Arial, Helvetica, sans-serif; font-size: 14px; background-color: #1E0F87; color: #FFFFFF;}\n");
586 bufhead
.append("TD.itemeven {font-family: Arial, Helvetica, sans-serif; font-size: 14px; background-color: #E6E6E6; color: #000000;}\n");
587 bufhead
.append("TD.itemodd {font-family: Arial, Helvetica, sans-serif; font-size: 14px; background-color: #737373; color: #F0F0F0;}\n");
588 bufhead
.append("TD.itemkleineven {font-family: Arial, Helvetica, sans-serif; font-size: 9px; background-color: #E6E6E6; color: #000000;}\n");
589 bufhead
.append("TD.itemkleinodd {font-family: Arial, Helvetica, sans-serif; font-size: 9px; background-color: #737373; color: #F0F0F0;}\n");
590 bufhead
.append("TD.header {font-family: Arial, Helvetica, sans-serif; font-size: 14px; background-color: #1E0F87; color: #FFFFFF;}\n");
591 bufhead
.append("UL {font-family: Arial, Helvetica, sans-serif; font-size: 9px;}\n");
592 bufhead
.append("UL.paeb { margin-top: 0px; margin-bottom: 0px; }\n");
593 bufhead
.append("H1 {font-family: Arial, Helvetica, sans-serif; font-size: 12px; background-color: #1E0F87; color: #FFFFFF;}\n");
594 bufhead
.append("--->\n");
595 bufhead
.append("</STYLE>\n");
596 bufhead
.append("</head>\n");
597 bufhead
.append("<body>\n");
598 //bufhead.append("<div style=margin-left:30px;>");
599 //bufhead.append("<font face=\"Tahoma\"><style=margin-left=30px;>");
600 return bufhead
.toString();
605 public String
ladeend(){
606 bufend
.append("</body>\n</html>\n");
607 return bufend
.toString();
610 /***************************************************/
611 public void holeOffeneRechnungen(Vector
<Vector
<String
>> data
){
612 String complete
= ladehead();
613 StringBuffer bdata
= new StringBuffer();
614 bdata
.append("<span "+getSpanStyle("14","")+"Offene RGR-/AFR-Rechnungen</span><br>\n");
615 bdata
.append("<table width='100%'>\n");
616 Double gesamt
= 0.00;
617 //String stmt = "select t1.rdatum,t1.rnr,t1.roffen,t1.pat_intern from rgaffaktura as t1 join pat5 as t2 on (t1.pat_intern=t2.pat_intern) where t1.roffen > '0' and t1.pat_intern = '"+xpatint+"' order by t1.rdatum";
618 for( int i
= 0; i
< data
.size();i
++){
619 bdata
.append("<tr>\n");
620 bdata
.append("<td>"+Integer
.toString(i
+1)+".</td>\n");
621 bdata
.append("<td>\n");
622 bdata
.append(DatFunk
.sDatInDeutsch(data
.get(i
).get(0)));
623 bdata
.append("</td>\n");
624 bdata
.append("<td>\n");
625 bdata
.append(data
.get(i
).get(1));
626 bdata
.append("</td>\n");
627 bdata
.append("<td>\n");
628 bdata
.append(data
.get(i
).get(2).replace(".", ",")+" EUR");
629 bdata
.append("</td>\n");
630 bdata
.append("</tr>\n");
631 gesamt
= gesamt
+Double
.parseDouble(data
.get(i
).get(2));
633 bdata
.append("<tr>\n");
634 bdata
.append("<td>\n");
635 bdata
.append(" ");
636 bdata
.append("</td>\n");
637 bdata
.append("<td>\n");
638 bdata
.append("<b>Summe</b>");
639 bdata
.append("</td>\n");
640 bdata
.append("<td>\n");
641 bdata
.append(" ");
642 bdata
.append("</td>\n");
643 bdata
.append("<td>\n");
644 bdata
.append("<b>"+df
.format( gesamt
)+"</b> EUR");
645 bdata
.append("</td>\n");
646 bdata
.append("</tr>\n");
648 bdata
.append("</table>\n");
649 complete
= complete
+bdata
.toString()+ladeend();
650 htmlPane1
.setText(complete
);
655 complete
= ladehead();
656 bdata
.append("<span "+getSpanStyle("14","")+"Merkmale für diesen Patient</span><br>\n");
658 for(int i
= 62; i
> 56;i
--){
659 if(Reha
.thisClass
.patpanel
.patDaten
.get(i
).equals("T")){
661 vPatMerker.add(inif.getStringProperty("Kriterien", "Krit"+i));
662 String simg = inif.getStringProperty("Kriterien", "Image"+i);
664 vPatMerkerIcon.add(null);
666 vPatMerkerIcon.add(new ImageIcon(Reha.proghome+"icons/"+simg));
668 if(SystemConfig
.vPatMerkerIconFile
.get(durchlauf
) != null){
669 bdata
.append("<img src='file:///"+SystemConfig
.vPatMerkerIconFile
.get(durchlauf
)+"'> ");
672 bdata
.append("<span "+getSpanStyle("12","#FF0000")+SystemConfig
.vPatMerker
.get(durchlauf
)+"</span><br>\n");
678 complete
= complete
+bdata
.toString()+ladeend();
679 htmlPane2
.setText(complete
);