From 54ea34e1b49a1942b163abd9a5346dd6c16d2027 Mon Sep 17 00:00:00 2001 From: Juergen Steinhilber Date: Fri, 2 Oct 2015 15:35:43 +0000 Subject: [PATCH] *** empty log message *** --- Reha/src/dialoge/EmailDialog.java | 25 ++++++++- Reha/src/roogle/SuchenSeite.java | 17 +++++-- Reha/src/roogle/TerminplanDrucken.java | 70 +++++++++++++++++--------- Reha/src/systemEinstellungen/SystemConfig.java | 5 ++ 4 files changed, 86 insertions(+), 31 deletions(-) diff --git a/Reha/src/dialoge/EmailDialog.java b/Reha/src/dialoge/EmailDialog.java index 27b89a64..65fd44bc 100644 --- a/Reha/src/dialoge/EmailDialog.java +++ b/Reha/src/dialoge/EmailDialog.java @@ -14,6 +14,9 @@ import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; +import java.io.BufferedReader; +import java.io.InputStream; +import java.io.InputStreamReader; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; @@ -31,6 +34,7 @@ import javax.swing.JToolBar; import javax.swing.WindowConstants; import javax.swing.table.DefaultTableModel; +import org.jdesktop.swingworker.SwingWorker; import org.jdesktop.swingx.JXDialog; import org.jdesktop.swingx.JXFrame; import org.jdesktop.swingx.JXPanel; @@ -435,7 +439,26 @@ public class EmailDialog extends JXDialog implements WindowListener, KeyListen if(test.endsWith(".ics")){ Runtime.getRuntime().exec("C:/Windows/notepad.exe "+attachments.get(wahl)[0].replace("\\", "/")); }else if(test.endsWith(".pdf")){ - + final String xdatei = attachments.get(wahl)[0].replace("\\", "/"); + new SwingWorker(){ + @Override + protected Void doInBackground() throws Exception { + Process process = new ProcessBuilder(SystemConfig.hmFremdProgs.get("AcrobatReader"),"",xdatei).start(); + InputStream is = process.getInputStream(); + InputStreamReader isr = new InputStreamReader(is); + BufferedReader br = new BufferedReader(isr); + //String line; + while ((br.readLine()) != null) { + //System.out.println(line); + } + is.close(); + isr.close(); + br.close(); + + return null; + } + + }.execute(); }else if(test.endsWith(".odt")){ }else{ diff --git a/Reha/src/roogle/SuchenSeite.java b/Reha/src/roogle/SuchenSeite.java index e7c6ebca..3d38b664 100644 --- a/Reha/src/roogle/SuchenSeite.java +++ b/Reha/src/roogle/SuchenSeite.java @@ -985,7 +985,7 @@ public class SuchenSeite extends JXPanel implements TableModelListener,FocusList public void run(){ new Thread(){ public void run(){ - auswahlDrucken(true); + auswahlDrucken(true,true); } }.start(); @@ -1014,7 +1014,7 @@ public class SuchenSeite extends JXPanel implements TableModelListener,FocusList public void run(){ //26.09.2015 /st. druckVectorInit(); - auswahlDrucken(true); + auswahlDrucken(true,true); } }.start(); } @@ -1047,7 +1047,7 @@ public class SuchenSeite extends JXPanel implements TableModelListener,FocusList public void run(){ new Thread(){ public void run(){ - auswahlDrucken(false); + auswahlDrucken(false,true); } }.start(); @@ -1405,6 +1405,12 @@ public class SuchenSeite extends JXPanel implements TableModelListener,FocusList String[] aufDat = {Reha.proghome+"temp/"+Reha.aktIK+"/iCal-TherapieTermine.ics","iCal-TherapieTermine.ics"}; ArrayList attachments = new ArrayList(); attachments.add(aufDat); + //Einbauen wenn der User auch eine PDF möchte muß sowohl in INI als auch in SystemConfig + if((Boolean) SystemConfig.hmIcalSettings.get("pdfbeilegen")){ + //druckVectorInit(); + auswahlDrucken(false,false); + attachments.add(new String[] {Reha.proghome+"temp/"+Reha.aktIK+"/Terminplan.pdf","Terminplan.pdf"}); + } //(JXFrame owner,String titel,String recipients, String betreff, String mailtext,ArrayList attachments,int postfach, boolean direktsenden) { EmailDialog emlDlg = new EmailDialog(Reha.thisFrame,"ICS-Datei der Behandlungstermin",recipient ,(String)SystemConfig.hmIcalSettings.get("betreff"), (String) SystemConfig.hmIcalSettings.get("emailtext"),attachments,(Integer)SystemConfig.hmIcalSettings.get("postfach"), (Boolean)SystemConfig.hmIcalSettings.get("direktsenden") ); @@ -1441,6 +1447,7 @@ public class SuchenSeite extends JXPanel implements TableModelListener,FocusList return true; */ }catch(Exception ex){ + ex.printStackTrace(); JOptionPane.showMessageDialog(null, "Fehler beim iCal-Export und Versand"); } return false; @@ -1601,7 +1608,7 @@ public class SuchenSeite extends JXPanel implements TableModelListener,FocusList return sret; } - private void auswahlDrucken(boolean drucken){ + private void auswahlDrucken(boolean drucken,boolean direktsenden){ int lang,i; TermObjekt termin = null; Vector vec = new Vector(); @@ -1674,7 +1681,7 @@ public class SuchenSeite extends JXPanel implements TableModelListener,FocusList } Collections.sort(vec); - new TerminplanDrucken().init((Vector)vec, drucken,schreibeName.getText().trim(),schreibeNummer.getText().trim(),getInstance()); + new TerminplanDrucken().init((Vector)vec, drucken,schreibeName.getText().trim(),schreibeNummer.getText().trim(),getInstance(),direktsenden); } } diff --git a/Reha/src/roogle/TerminplanDrucken.java b/Reha/src/roogle/TerminplanDrucken.java index 688ebe95..9c677505 100644 --- a/Reha/src/roogle/TerminplanDrucken.java +++ b/Reha/src/roogle/TerminplanDrucken.java @@ -49,11 +49,12 @@ TerminplanDrucken thisDruck = null; String[] tabName; static String exporturl = ""; SuchenSeite eltern; - public void init(Vector termdat,boolean drucken,String patName,String rezNr,SuchenSeite xeltern){ + public void init(Vector termdat,boolean drucken,String patName,String rezNr,SuchenSeite xeltern,boolean ldirektsenden){ this.termindat = termdat; this.ldrucken = drucken; this.patient = patName; this.rezept = rezNr; + this.ldirektsenden = ldirektsenden; eltern = xeltern; thisDruck = this; start(); @@ -80,12 +81,14 @@ SuchenSeite eltern; patname = patname+rez; /**********/ - eltern.getFortschritt().setStringPainted(true); - //eltern.getFortschritt().setIndeterminate(true); - eltern.setFortschrittZeigen(true); - eltern.setFortschrittRang(0, Long.valueOf(Integer.toString(termindat.size()))); - eltern.setFortschrittSetzen(0); - //eltern.setFortschrittZeigen(true); + if(ldirektsenden){ + eltern.getFortschritt().setStringPainted(true); + //eltern.getFortschritt().setIndeterminate(true); + eltern.setFortschrittZeigen(true); + eltern.setFortschrittRang(0, Long.valueOf(Integer.toString(termindat.size()))); + eltern.setFortschrittSetzen(0); + //eltern.setFortschrittZeigen(true); + } /**********/ IDocumentService documentService = null;; @@ -120,7 +123,9 @@ SuchenSeite eltern; if(tbl.length != AnzahlTabellen){ JOptionPane.showMessageDialog (null, "Anzahl Tabellen stimmt nicht mit der Vorlagen.ini überein.\nDruck nicht m�glich"); textDocument.close(); - eltern.cursorWait(false); + if(ldirektsenden){ + eltern.cursorWait(false); + } return; } tabName = new String[AnzahlTabellen]; @@ -195,7 +200,9 @@ SuchenSeite eltern; aktTerminInTabelle = aktTerminInTabelle+1; aktTermin = aktTermin+1; - eltern.setFortschrittSetzen(aktTermin); + if(ldirektsenden){ + eltern.setFortschrittSetzen(aktTermin); + } if(aktTermin >= anzahl){ break; } @@ -344,16 +351,20 @@ SuchenSeite eltern; } }.execute(); */ - eltern.setFortschrittSetzen(termindat.size()); - eltern.setFortschrittZeigen(false); - eltern.getFortschritt().setStringPainted(true); + if(ldirektsenden){ + eltern.setFortschrittSetzen(termindat.size()); + eltern.setFortschrittZeigen(false); + eltern.getFortschritt().setStringPainted(true); + eltern.cursorWait(false); + } this.termindat = null; - eltern.cursorWait(false); }else{ - eltern.cursorWait(false); - eltern.setFortschrittZeigen(false); - eltern.getFortschritt().setStringPainted(true); - this.termindat = null; + if(ldirektsenden){ + eltern.cursorWait(false); + eltern.setFortschrittZeigen(false); + eltern.getFortschritt().setStringPainted(true); + } + this.termindat = null; document.getFrame().getXFrame().getContainerWindow().setVisible(true); } @@ -396,7 +407,9 @@ SuchenSeite eltern; JOptionPane.showMessageDialog(null, "Fehler bei der Aufbereitung des Terminplanes als PDF Datei existiert nicht"); return null; } - sendeEmail(); + if(ldirektsenden){ + sendeEmail(); + } } catch (InterruptedException e) { e.printStackTrace(); JOptionPane.showMessageDialog(null, "Fehler beim Senden und Schließen des Terminplanes\nFehler: "+e.getMessage()); @@ -408,13 +421,15 @@ SuchenSeite eltern; return null; } }.execute(); - - eltern.setFortschrittZeigen(false); - eltern.getFortschritt().setStringPainted(true); + if(ldirektsenden){ + eltern.setFortschrittZeigen(false); + eltern.getFortschritt().setStringPainted(true); + } this.termindat = null; } - - eltern.cursorWait(false); + if(ldirektsenden){ + eltern.cursorWait(false); + } } private void sendeEmail(){ @@ -539,7 +554,10 @@ SuchenSeite eltern; try{ oMail.sendMail(smtpHost, username, password, senderAddress, recipientsAddress, subject, text,attachments,authx,bestaetigen,secure,useport); oMail = null; - eltern.cursorWait(false); + if(ldirektsenden){ + eltern.cursorWait(false); + } + f = new File(anhang[0]); if(f.exists()){ f.delete(); @@ -549,7 +567,9 @@ SuchenSeite eltern; } }catch(Exception e){ - eltern.cursorWait(false); + if(ldirektsenden){ + eltern.cursorWait(false); + } JOptionPane.showMessageDialog (null, "Der Emailversand der Terminliste ist fehlgeschlagen!!!!!\n"); e.printStackTrace( ); } diff --git a/Reha/src/systemEinstellungen/SystemConfig.java b/Reha/src/systemEinstellungen/SystemConfig.java index 32a7c0d8..2d8691cd 100644 --- a/Reha/src/systemEinstellungen/SystemConfig.java +++ b/Reha/src/systemEinstellungen/SystemConfig.java @@ -797,6 +797,11 @@ public class SystemConfig { }else{ hmIcalSettings.put("postfach",(Integer) Integer.parseInt((String)icalini.getStringProperty("ICalendar", "Postfach")) ); } + if( icalini.getStringProperty("ICalendar", "Pdfbeilegen") == null ){ + hmIcalSettings.put("pdfbeilegen",false); + }else{ + hmIcalSettings.put("pdfbeilegen",(Boolean) (icalini.getStringProperty("ICalendar", "Pdfbeilegen").equals("0") ? false : true) ); + } int zeilen = Integer.parseInt(icalini.getStringProperty("Terminbeschreibung", "TextzeilenAnzahl")); String beschreibung = ""; for(int i = 0; i < zeilen; i++){ -- 2.11.4.GIT