1 package urlaubBeteiligung
;
3 import hauptFenster
.Reha
;
5 import java
.awt
.BorderLayout
;
7 import java
.awt
.event
.ActionEvent
;
8 import java
.awt
.event
.ActionListener
;
9 import java
.awt
.event
.KeyEvent
;
10 import java
.awt
.event
.KeyListener
;
11 import java
.text
.DecimalFormat
;
12 import java
.util
.Collections
;
13 import java
.util
.Comparator
;
14 import java
.util
.Vector
;
16 import javax
.swing
.JButton
;
17 import javax
.swing
.JLabel
;
18 import javax
.swing
.JOptionPane
;
19 import javax
.swing
.JProgressBar
;
20 import javax
.swing
.SwingUtilities
;
22 import oOorgTools
.OOTools
;
24 import org
.jdesktop
.swingworker
.SwingWorker
;
25 import org
.jdesktop
.swingx
.JXPanel
;
27 import rehaInternalFrame
.JBeteiligungInternal
;
28 import sqlTools
.SqlInfo
;
29 import stammDatenTools
.RezTools
;
30 import systemTools
.ButtonTools
;
31 import systemTools
.JRtaCheckBox
;
32 import systemTools
.JRtaComboBox
;
33 import systemTools
.JRtaTextField
;
34 import terminKalender
.DatFunk
;
35 import terminKalender
.ParameterLaden
;
36 import ag
.ion
.bion
.officelayer
.application
.OfficeApplicationException
;
37 import ag
.ion
.bion
.officelayer
.document
.DocumentDescriptor
;
38 import ag
.ion
.bion
.officelayer
.document
.IDocument
;
39 import ag
.ion
.bion
.officelayer
.document
.IDocumentDescriptor
;
40 import ag
.ion
.bion
.officelayer
.document
.IDocumentService
;
41 import ag
.ion
.bion
.officelayer
.spreadsheet
.ISpreadsheetDocument
;
42 import ag
.ion
.noa
.NOAException
;
44 import com
.jgoodies
.forms
.layout
.CellConstraints
;
45 import com
.jgoodies
.forms
.layout
.FormLayout
;
46 import com
.sun
.star
.beans
.PropertyVetoException
;
47 import com
.sun
.star
.beans
.UnknownPropertyException
;
48 import com
.sun
.star
.container
.NoSuchElementException
;
49 import com
.sun
.star
.lang
.IllegalArgumentException
;
50 import com
.sun
.star
.lang
.IndexOutOfBoundsException
;
51 import com
.sun
.star
.lang
.WrappedTargetException
;
52 import com
.sun
.star
.sheet
.XSheetCellCursor
;
53 import com
.sun
.star
.sheet
.XSpreadsheet
;
54 import com
.sun
.star
.sheet
.XSpreadsheets
;
55 import com
.sun
.star
.uno
.UnoRuntime
;
57 public class Beteiligung
extends JXPanel
{
62 private static final long serialVersionUID
= -5302438379722827660L;
64 JBeteiligungInternal internal
=null;
65 JRtaComboBox jcmb
= null;
67 JRtaTextField
[] tfs
= {null,null};
68 JRtaTextField
[] tfbeteil
= {null,null,null};
69 JRtaCheckBox chbbeteil
= null;
70 JXPanel content
= null;
71 JButton
[] buts
= {null};
72 ActionListener al
= null;
73 KeyListener kl
= null;
74 boolean initok
= false;
75 String aktBehandlerNummer
= "";
76 JLabel progresstext1
= null;
77 JProgressBar progressbar1
= null;
78 final String copyright
= "\u00AE" ;
84 Vector
<Vector
<String
>> veckolls
= new Vector
<Vector
<String
>>();
86 Vector
<Vector
<Vector
<String
>>> tagesvec
= new Vector
<Vector
<Vector
<String
>>>();
88 Vector
<Integer
[]> summenPos
= new Vector
<Integer
[]>();
89 DecimalFormat dcf
= new DecimalFormat("##########0.00");
91 int anzahlTagesBehandlungen
= 0;
93 ISpreadsheetDocument spreadsheetDocument
= null;;
94 IDocument document
= null;
95 XSheetCellCursor cellCursor
= null;
96 XSpreadsheet spreadsheet
= null;
99 String
[] kopfzeile
= {"Patient","PG","Pos1","Pos2","Pos3","Pos4","HB","WG",
100 "Preis1","Preis2","Preis3","Preis4","HB-Pr.","WG-Pr.","Summe","A","FK"};
101 String
[] cols
= {"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q"};
105 public Beteiligung(JBeteiligungInternal bti
){
109 add(getContent(),BorderLayout
.CENTER
);
113 private JXPanel
getContent(){ // 1 2 3 4 5 6 7 8 9
114 FormLayout lay
= new FormLayout("fill:0:grow(0.5),5dlu,70dlu,3dlu,60dlu,3dlu,70dlu,3dlu,60dlu,"+
116 "3dlu,70dlu,3dlu, 60dlu,25dlu,fill:0:grow(0.5)",
117 // 1 2 3 4 5 6 7 8 9 10 11
118 "10dlu,p,5dlu,p,5dlu,p,5dlu,p,2dlu,p,10dlu");
119 CellConstraints cc
= new CellConstraints();
120 content
= new JXPanel();
121 content
.setLayout(lay
);
122 lab
= new JLabel("Mitarbeiter");
123 content
.add(lab
,cc
.xy(3,2,CellConstraints
.RIGHT
,CellConstraints
.DEFAULT
));
124 jcmb
= new JRtaComboBox();
125 jcmb
.setDataVectorVector(doKollegen(), 0, 1);
126 jcmb
.setActionCommand("kollegen");
127 jcmb
.addActionListener(al
);
128 content
.add(jcmb
,cc
.xy(5,2));
129 lab
= new JLabel("Bet.an Behandl.(%)");
130 content
.add(lab
,cc
.xy(7,2,CellConstraints
.RIGHT
,CellConstraints
.DEFAULT
));
131 tfbeteil
[0]= new JRtaTextField("ZAHLEN",true);
132 tfbeteil
[0].setText("0");
133 content
.add(tfbeteil
[0],cc
.xy(9,2));
134 lab
= new JLabel("Bet.an HB(%)");
135 content
.add(lab
,cc
.xy(11,2,CellConstraints
.RIGHT
,CellConstraints
.DEFAULT
));
136 tfbeteil
[1]= new JRtaTextField("ZAHLEN",true);
137 tfbeteil
[1].setText("0");
138 content
.add(tfbeteil
[1],cc
.xy(13,2));
140 lab
= new JLabel("Bet.an Weggeb(%)");
141 content
.add(lab
,cc
.xy(11,4,CellConstraints
.RIGHT
,CellConstraints
.DEFAULT
));
142 tfbeteil
[2]= new JRtaTextField("ZAHLEN",true);
143 tfbeteil
[2].setText("0");
144 content
.add(tfbeteil
[2],cc
.xy(13,4));
147 lab
= new JLabel("von...");
148 content
.add(lab
,cc
.xy(3,6,CellConstraints
.RIGHT
,CellConstraints
.DEFAULT
));
149 tfs
[0]= new JRtaTextField("DATUM",true);
150 tfs
[0].setText(DatFunk
.sHeute());
151 content
.add(tfs
[0],cc
.xy(5,6));
153 lab
= new JLabel("bis...");
154 content
.add(lab
,cc
.xy(7,6,CellConstraints
.RIGHT
,CellConstraints
.DEFAULT
));
155 tfs
[1]= new JRtaTextField("DATUM",true);
156 tfs
[1].setText(DatFunk
.sHeute());
157 content
.add(tfs
[1],cc
.xy(9,6));
159 content
.add((buts
[0]=ButtonTools
.macheButton("ermitteln", "ermitteln", al
)),cc
.xy(13,6));
160 buts
[0].addKeyListener(kl
);
162 progresstext1
= new JLabel(" ");
163 content
.add(progresstext1
,cc
.xyw(5,8,9,CellConstraints
.CENTER
,CellConstraints
.DEFAULT
));
165 progressbar1
= new JProgressBar();
166 progressbar1
.setStringPainted(true);
167 content
.add(progressbar1
,cc
.xyw(5,10,9,CellConstraints
.FILL
,CellConstraints
.DEFAULT
));
172 @SuppressWarnings("unchecked")
173 private Vector
<Vector
<String
>> doKollegen(){
174 int lang
= ParameterLaden
.vKollegen
.size();
176 Vector
<String
> vecdummy
= new Vector
<String
>();
177 for(int i
= 0;i
<lang
;i
++){
179 //System.outprintln(ParameterLaden.vKollegen.get(i));
180 vecdummy
.add((String
)ParameterLaden
.vKollegen
.get(i
).get(0));
181 vecdummy
.add((String
)ParameterLaden
.vKollegen
.get(i
).get(3));
182 veckolls
.add((Vector
<String
>)vecdummy
.clone());
184 Comparator
<Vector
<String
>> comparator
= new Comparator
<Vector
<String
>>() {
186 public int compare(Vector
<String
> o1
, Vector
<String
> o2
) {
187 String s1
= (String
)o1
.get(0);
188 String s2
= (String
)o2
.get(0);
189 return s1
.compareTo(s2
);
192 Collections
.sort(veckolls
,comparator
);
196 private void doTagAnalysieren(Vector
<String
> tag
,int anzahltermine
){
198 Vector
<Vector
<String
>> vec
;
199 boolean inhistory
= false;
200 boolean ohnezuordnung
= false;
202 progressbar1
.setMinimum(0);
203 progressbar1
.setMaximum(anzahltermine
);
204 Vector
<String
> rezvec
= new Vector
<String
>();
205 for(int i
= 0;i
< anzahltermine
;i
++){
206 progressbar1
.setValue(i
);
207 progresstext1
.setText("Auswerten Tag: "+DatFunk
.sDatInDeutsch(tag
.get(304))+
208 " Termin "+Integer
.toString(i
+1) +" von "+tag
.get(300));
210 ohnezuordnung
= false;
211 reznum
= tag
.get((i
*5)+1).trim();
212 if( (reznum
.indexOf("\\")) >= 0){
213 pos
= reznum
.indexOf("\\");
214 reznum
= reznum
.substring(0,pos
);
216 if( (!reznum
.contains("@FREI")) && (!reznum
.contains("@INTERN")) ){
217 if( (reznum
.trim().equals("")) && (!tag
.get((i
*5)).trim().equals("")) ){
218 doKeineZuordnung("ohne Zuordnung: "+tag
.get((i
*5)),false);
219 anzahlTagesBehandlungen
++;
221 if((reznum
.length()>2)){
222 if( ("KGMAERLORHPO".contains(reznum
.substring(0,2))) ){
223 vec
= SqlInfo
.holeFelder("select * from verordn where rez_nr ='"+reznum
+"' LIMIT 1");
225 vec
= SqlInfo
.holeFelder("select * from lza where rez_nr ='"+reznum
+"' LIMIT 1");
227 ohnezuordnung
= true;
232 //In beiden Tabellen Rezept nicht gefunden gefunden
234 doKeineZuordnung("ohne Zuordnung: "+tag
.get((i
*5)),false);
235 anzahlTagesBehandlungen
++;
237 if(rezvec
.contains(vec
.get(0).get(1))){
238 doKeineZuordnung("an diesem Tag bereits erfaßt: "+tag
.get((i
*5))+"-"+vec
.get(0).get(1).toString(),false);
239 anzahlTagesBehandlungen
++;
242 doAnteilBerechnen(vec
,inhistory
,DatFunk
.sDatInDeutsch(tag
.get(304)),tag
.get((i
*5)));
243 } catch (UnknownPropertyException e
) {
245 } catch (PropertyVetoException e
) {
247 } catch (IllegalArgumentException e
) {
249 } catch (WrappedTargetException e
) {
252 rezvec
.add(vec
.get(0).get(1).toString());
253 anzahlTagesBehandlungen
++;
255 ////System.out.println("Tag "+DatFunk.sDatInDeutsch(tag.get(304))+" TerminNr "+(i+1)+" = Rezeptnummer "+reznum);
258 doKeineZuordnung("ohne Zuordnung: "+tag
.get((i
*5)),false);
259 anzahlTagesBehandlungen
++;
262 if(!tag
.get((i
*5)).trim().equals("")){
263 doKeineZuordnung("ohne Zuordnung: "+tag
.get((i
*5)),false);
264 anzahlTagesBehandlungen
++;
271 private void doAuswerten(int tage
){
272 progressbar1
.setForeground(Color
.RED
);
273 progressbar1
.setMinimum(0);
274 progressbar1
.setMaximum(tage
+1);
275 int lang
= tagesvec
.size();
276 //Durch die einzelnen Tage
277 for(int i
= 0; i
< lang
;i
++){
278 //progressbar1.setValue(i);
279 //progresstext1.setText("Auswerten Tag: "+DatFunk.sDatInDeutsch(tagesvec.get(i).get(0).get(304))+
280 //" Termin "+Integer.toString(i+1) +" von "+tagesvec.get(i).get(0).get(300));
282 anzahlTagesBehandlungen
= 0;
283 doTagesKopf(DatFunk
.sDatInDeutsch(tagesvec
.get(i
).get(0).get(304)));
284 Integer
[] summenStart
= {calcrow
+1,0};
285 summenPos
.add(summenStart
);
286 doTagAnalysieren(tagesvec
.get(i
).get(0),Integer
.parseInt(tagesvec
.get(i
).get(0).get(300)));
287 if(anzahlTagesBehandlungen
==0){
288 doKeineZuordnung("Keine Behandlungen an diesem Tag (Urlaub/Krankheit)",false);
290 summenPos
.get(summenPos
.size()-1)[1] = calcrow
;
293 } catch (IndexOutOfBoundsException e
) {
295 } catch (UnknownPropertyException e
) {
297 } catch (PropertyVetoException e
) {
299 } catch (IllegalArgumentException e
) {
301 } catch (WrappedTargetException e
) {
307 progresstext1
.setText("feddisch....");
308 progressbar1
.setForeground(Color
.GREEN
);
309 progressbar1
.setValue(progressbar1
.getMaximum());
313 /*******************************/
314 private void doEinlesen(String start
,String end
,int differenz
){
318 tagesvec
.trimToSize();
319 progressbar1
.setForeground(Color
.RED
);
320 progressbar1
.setMinimum(0);
321 progressbar1
.setMaximum(differenz
+1);
322 for(int i
= 0; i
<= differenz
;i
++){
323 progressbar1
.setValue(i
);
324 akttag
= DatFunk
.sDatInSQL( DatFunk
.sDatPlusTage(DatFunk
.sDatInDeutsch(start
), i
) );
325 progresstext1
.setText("Termindaten abholen: "+DatFunk
.sDatInDeutsch(akttag
));
327 cmd
= "select * from flexkc where datum ='"+akttag
+"'"+
328 " AND behandler ='"+aktBehandlerNummer
+"BEHANDLER'";
329 tagesvec
.add( SqlInfo
.holeFelder(cmd
) );
331 progressbar1
.setForeground(Color
.GREEN
);
332 progressbar1
.setValue(differenz
+1);
333 doAuswerten(differenz
);
336 * @throws NOAException
337 * @throws OfficeApplicationException
338 * @throws IllegalArgumentException
339 * @throws PropertyVetoException
340 * @throws UnknownPropertyException
341 * @throws IndexOutOfBoundsException
342 * @throws WrappedTargetException
343 * @throws NoSuchElementException *****************************/
344 private boolean doErmitteln() throws NoSuchElementException
, WrappedTargetException
, IndexOutOfBoundsException
, UnknownPropertyException
, PropertyVetoException
, IllegalArgumentException
, OfficeApplicationException
, NOAException
{
345 if(jcmb
.getValue().toString().trim().equals("00")){
346 JOptionPane
.showMessageDialog(null, "Bitte wählen Sie einen Behandler aus");
350 if(tfbeteil
[0].getText().trim().equals("0") && tfbeteil
[1].getText().trim().equals("0")){
351 JOptionPane
.showMessageDialog(null, "Bei jeweils 0% Beteiligung gibt's eigentlich nichts was zu ermitteln wäre\nDeppen gibt's.....");
352 tfbeteil
[0].requestFocus();
356 prozBehandl
= Integer
.parseInt(tfbeteil
[0].getText().trim());
357 prozHb
= Integer
.parseInt(tfbeteil
[1].getText().trim());
358 prozWeg
= Integer
.parseInt(tfbeteil
[2].getText().trim());
359 }catch(Exception ex
){
360 JOptionPane
.showMessageDialog(null, "Ein oder mehrere Prozent-Werte sind unzulässig");
361 tfbeteil
[0].requestFocus();
364 String dat1
=null,dat2
=null;
366 dat1
= DatFunk
.sDatInSQL(tfs
[0].getText().trim());
367 dat2
= DatFunk
.sDatInSQL(tfs
[1].getText().trim());
368 }catch(Exception ex
){
369 JOptionPane
.showMessageDialog(null, "Die eingegebenen Datumswerte sind unzulässig");
370 tfs
[0].requestFocus();
373 long differenz
= DatFunk
.TageDifferenz(tfs
[0].getText().trim(), tfs
[1].getText().trim());
375 JOptionPane
.showMessageDialog(null, "Das eingegebene Enddatum liegt vor dem Startdatum");
376 tfbeteil
[0].requestFocus();
380 doEinlesen(dat1
,dat2
,Integer
.parseInt(Long
.toString(differenz
)));
384 /*******************************/
385 private void makeListeners(){
386 al
= new ActionListener(){
388 public void actionPerformed(ActionEvent arg0
) {
389 String cmd
= arg0
.getActionCommand();
390 if(cmd
.equals("ermitteln")){
391 new SwingWorker
<Void
,Void
>(){
393 protected Void
doInBackground() throws Exception
{
396 tagesvec
.trimToSize();
398 summenPos
.trimToSize();
399 anzahlTagesBehandlungen
= 0;
404 }catch(Exception ex
){
405 ex
.printStackTrace();
411 if(cmd
.equals("kollegen") && initok
){
412 aktBehandlerNummer
= jcmb
.getValue().toString();
413 //System.outprintln("Aktueller Behandler = "+aktBehandlerNummer);
417 kl
= new KeyListener(){
419 public void keyPressed(KeyEvent arg0
) {
422 public void keyReleased(KeyEvent arg0
) {
425 public void keyTyped(KeyEvent arg0
) {
430 * @throws WrappedTargetException
431 * @throws NoSuchElementException
432 * @throws IllegalArgumentException
433 * @throws PropertyVetoException
434 * @throws UnknownPropertyException
435 * @throws IndexOutOfBoundsException *****************************/
436 private void starteCalc() throws OfficeApplicationException
, NOAException
, NoSuchElementException
, WrappedTargetException
, IndexOutOfBoundsException
, UnknownPropertyException
, PropertyVetoException
, IllegalArgumentException
{
437 if(!Reha
.officeapplication
.isActive()){
438 Reha
.starteOfficeApplication();
440 IDocumentService documentService
= Reha
.officeapplication
.getDocumentService();
441 IDocumentDescriptor docdescript
= new DocumentDescriptor();
442 docdescript
.setHidden(true);
443 docdescript
.setAsTemplate(true);
444 document
= documentService
.constructNewDocument(IDocument
.CALC
, docdescript
);
445 spreadsheetDocument
= (ISpreadsheetDocument
) document
;
446 OOTools
.setzePapierFormatCalc((ISpreadsheetDocument
) spreadsheetDocument
, 21000, 29700);
447 OOTools
.setzeRaenderCalc((ISpreadsheetDocument
) spreadsheetDocument
, 1000,1000, 1000, 1000);
448 XSpreadsheets spreadsheets
= spreadsheetDocument
.getSpreadsheetDocument().getSheets();
450 sheetName
= "Tabelle1";
451 spreadsheet
= (XSpreadsheet
)UnoRuntime
.queryInterface(XSpreadsheet
.class,spreadsheets
.getByName(sheetName
));
452 cellCursor
= spreadsheet
.createCursor();
454 doSpaltenJustieren();
457 * @throws IndexOutOfBoundsException
458 * @throws WrappedTargetException
459 * @throws IllegalArgumentException
460 * @throws PropertyVetoException
461 * @throws UnknownPropertyException *****************************/
462 private void doTabellenKopf() throws IndexOutOfBoundsException
, UnknownPropertyException
, PropertyVetoException
, IllegalArgumentException
, WrappedTargetException
{
463 OOTools
.doCellFontBold(cellCursor
, 0, 0);
464 OOTools
.doCellValue(cellCursor
, 0, 0, "Gesamtumsätze vom "+tfs
[0].getText()+" bis einschließlich "+tfs
[1].getText());
465 OOTools
.doCellColor(cellCursor
, 11, 0, 0xffffff);
466 OOTools
.doCellColor(cellCursor
, 12, 0, 0xffffff);
467 OOTools
.doCellColor(cellCursor
, 13, 0, 0xffffff);
468 OOTools
.doCellValue(cellCursor
, 11, 0, Double
.parseDouble(tfbeteil
[0].getText()));
469 OOTools
.doCellValue(cellCursor
, 12, 0, Double
.parseDouble(tfbeteil
[1].getText()));
470 OOTools
.doCellValue(cellCursor
, 13, 0, Double
.parseDouble(tfbeteil
[2].getText()));
472 OOTools
.doCellFontBold(cellCursor
, 0, calcrow
);
473 OOTools
.doCellValue(cellCursor
, 0, calcrow
, jcmb
.getSelectedItem().toString());
476 private void doSpaltenJustieren() throws NoSuchElementException
, WrappedTargetException
, IndexOutOfBoundsException
, UnknownPropertyException
, PropertyVetoException
, IllegalArgumentException
{
477 OOTools
.doColWidth(spreadsheetDocument
,sheetName
,0,0,4000);
478 OOTools
.doColTextAlign(spreadsheetDocument
,sheetName
,0,0,0);
480 OOTools
.doColWidth(spreadsheetDocument
,sheetName
,1,1,1200);
481 OOTools
.doColTextAlign(spreadsheetDocument
,sheetName
,1,1,2);
483 OOTools
.doColWidth(spreadsheetDocument
,sheetName
,2,7,1500);
484 OOTools
.doColTextAlign(spreadsheetDocument
,sheetName
,2,7,0);
486 OOTools
.doColWidth(spreadsheetDocument
,sheetName
,8,14,1500);
487 OOTools
.doColTextAlign(spreadsheetDocument
,sheetName
,8,14,3);
489 OOTools
.doColWidth(spreadsheetDocument
,sheetName
,15,16,1200);
490 OOTools
.doColTextAlign(spreadsheetDocument
,sheetName
,15,16,2);
492 OOTools
.doColNumberFormat(spreadsheetDocument
,sheetName
,8,14,2);
495 private void doTagesKopf(String tag
) throws IndexOutOfBoundsException
, UnknownPropertyException
, PropertyVetoException
, IllegalArgumentException
, WrappedTargetException
{
496 OOTools
.doCellFontBold(cellCursor
, 0, calcrow
);
497 OOTools
.doCellValue(cellCursor
, 0, calcrow
,tag
);
499 for(int i
= 0; i
< kopfzeile
.length
;i
++){
500 OOTools
.doCellFontItalic(cellCursor
, i
, calcrow
);
501 OOTools
.doCellValue(cellCursor
, i
, calcrow
,kopfzeile
[i
]);
506 private void doKeineZuordnung(String name
,boolean history
){
508 OOTools
.doCellColor(cellCursor
, 0, calcrow
, 0xff0000);
509 OOTools
.doCellValue(cellCursor
, 0, calcrow
,name
.replace(copyright
, ""));
510 if(name
.contains("erfaßt")){
511 OOTools
.doCellFontBold(cellCursor
, 0, calcrow
);
513 for(int i
= 8;i
< 13; i
++){
514 OOTools
.doCellValue(cellCursor
, i
, calcrow
,Double
.parseDouble("0.00"));
516 OOTools
.doCellFormula(cellCursor
, 14,calcrow
, "=sum(I"+Integer
.toString(calcrow
+1)+":N"+Integer
.toString(calcrow
+1)+")");
518 } catch (IndexOutOfBoundsException e
) {
520 } catch (UnknownPropertyException e
) {
522 } catch (PropertyVetoException e
) {
524 } catch (IllegalArgumentException e
) {
526 } catch (WrappedTargetException e
) {
530 private void doAnteilBerechnen(Vector
<Vector
<String
>> rezvec
,boolean history
,String datum
,String name
) throws UnknownPropertyException
, PropertyVetoException
, IllegalArgumentException
, WrappedTargetException
{
531 Vector
<String
> calczeile
= RezTools
.macheUmsatzZeile(rezvec
,datum
,jcmb
.getSelectedItem().toString());
532 //System.outprintln(calczeile);
534 OOTools
.doCellValue(cellCursor
, 0, calcrow
,name
.replace(copyright
, ""));
535 OOTools
.doCellValue(cellCursor
, 1,calcrow
, rezvec
.get(0).get(41) );
537 for(int i
= 0 ; i
< 6;i
++){
539 OOTools
.doCellValue(cellCursor
, i
+2,calcrow
, calczeile
.get(i
) );
541 formula
= "="+calczeile
.get(i
+6)+"/100*$M$1";
543 formula
= "="+calczeile
.get(i
+6)+"/100*$N$1";
545 formula
= "="+calczeile
.get(i
+6)+"/100*$L$1";
548 OOTools
.doCellFormula(cellCursor
, i
+8,calcrow
, formula
);
550 OOTools
.doCellFormula(cellCursor
, 14,calcrow
, "=sum(I"+Integer
.toString(calcrow
+1)+":N"+Integer
.toString(calcrow
+1)+")");
552 OOTools
.doCellValue(cellCursor
, 15,calcrow
, "X");
554 if(!calczeile
.get(12).equals("0")){
555 OOTools
.doCellColor(cellCursor
,16,calcrow
,0xff0000);
556 OOTools
.doCellValue(cellCursor
,16,calcrow
,calczeile
.get(12));
559 } catch (IndexOutOfBoundsException e
) {
564 private void doTagesSumme(int tag
){
566 OOTools
.doCellColor(cellCursor
, 0, calcrow
, 0xff0000);
567 OOTools
.doCellValue(cellCursor
, 0, calcrow
, "Tagessumme");
568 String formel
= "=sum(O"+Integer
.toString(summenPos
.get(tag
)[0])+":O"+Integer
.toString(summenPos
.get(tag
)[1])+")";
569 OOTools
.doCellColor(cellCursor
, 14, calcrow
, 0xff0000);
570 OOTools
.doCellFormula(cellCursor
, 14, calcrow
, formel
);
571 } catch (IndexOutOfBoundsException e
) {
573 } catch (UnknownPropertyException e
) {
575 } catch (PropertyVetoException e
) {
577 } catch (IllegalArgumentException e
) {
579 } catch (WrappedTargetException e
) {
584 private void doEndsumme(){
586 OOTools
.doCellColor(cellCursor
, 0, calcrow
, 0xff0000);
587 OOTools
.doCellFontBold(cellCursor
, 0, calcrow
);
588 OOTools
.doCellValue(cellCursor
, 0, calcrow
, "Gesamtsumme");
589 OOTools
.doCellColor(cellCursor
, 14, calcrow
, 0xff0000);
590 OOTools
.doCellFontBold(cellCursor
, 14, calcrow
);
591 String formula
= "=";
593 for(int i
= 0;i
< summenPos
.size();i
++){
594 formula
= formula
+"O"+Integer
.toString(summenPos
.get(i
)[1]+1)+(i
< (summenPos
.size()-1) ?
"+" : "");
596 OOTools
.doCellFormula(cellCursor
, 14, calcrow
, formula
);
599 OOTools
.doCellColor(cellCursor
,0,calcrow
,0xff0000);
600 OOTools
.doCellValue(cellCursor
,0,calcrow
,"FK 1 = Tag im Terminblatt nicht erfaßt");
601 OOTools
.doCellColor(cellCursor
,0,calcrow
+1,0xff0000);
602 OOTools
.doCellValue(cellCursor
,0,calcrow
+1,"FK 2 = Tag ist erfaßt aber keine Positionen zugeordnet");
603 OOTools
.doCellColor(cellCursor
,0,calcrow
+2,0xff0000);
604 OOTools
.doCellValue(cellCursor
,0,calcrow
+2,"FK 3 = Tag ist erfaßt aber Positionen einer anderen Tarifgruppe zugeordnet");
607 } catch (IndexOutOfBoundsException e
) {
609 } catch (UnknownPropertyException e
) {
611 } catch (PropertyVetoException e
) {
613 } catch (IllegalArgumentException e
) {
615 } catch (WrappedTargetException e
) {
619 private void zeigeCalc(){
620 final ISpreadsheetDocument xspredsheetDocument
= spreadsheetDocument
;
621 SwingUtilities
.invokeLater(new Runnable(){
623 xspredsheetDocument
.getFrame().getXFrame().getContainerWindow().setVisible(true);
624 xspredsheetDocument
.getFrame().setFocus();
630 private void doBehandlung(){
634 public void doAufraeumen(){