From 04e68443040c7abad84d66477e98f93bed701760 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 4 Feb 2019 13:09:03 +0100 Subject: Initial import --- .../src/4.anschr.unterrichtsvertlg fuer lehrer | 137 +++++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 app/schulis/2.2.1/src/4.anschr.unterrichtsvertlg fuer lehrer (limited to 'app/schulis/2.2.1/src/4.anschr.unterrichtsvertlg fuer lehrer') diff --git a/app/schulis/2.2.1/src/4.anschr.unterrichtsvertlg fuer lehrer b/app/schulis/2.2.1/src/4.anschr.unterrichtsvertlg fuer lehrer new file mode 100644 index 0000000..9c695d8 --- /dev/null +++ b/app/schulis/2.2.1/src/4.anschr.unterrichtsvertlg fuer lehrer @@ -0,0 +1,137 @@ +PACKET anschrunterrichtsvertlgfuerlehrerDEFINES +unterrichtsvertlgfuerlehrereingang,unterrichtsvertlgfuerlehrerstarten, +unterrichtsvertlgfuerlehrersonderwerte,unterrichtsvertlgfuerlehrermultistop, +unterrichtsvertlgfuerlehrerdruckdateibauen:LET maske= +"ms unterrichtsverteilung fuer lehrer drucken",fnrparaphe=2,fnrzeitwuensche=3 +,fnraktsj=4,fnrbsausgabe=5,fnrdrausgabe=6,mnrbittewarten=69, +mnrkeinegueltigeparaphe=344,mnrlistewirdaufbereitet=190,trenner="/",blank=" " +,niltext="";TEXT CONST v1datlehrer:="vordruck1 unterrichtsvertlg fuer lehrer" +,v2datlehrveranstgn:="vordruck2 unterrichtsvertlg fuer lehrer", +v3dataktschuelergr:="vordruck4 auskunft lehrer",v4datzeitwuensche:= +"vordruck5 auskunft lehrer",bestandnamepersoenlermaessigung:= +"c02 persoenl ermaess";LET swsj=520,swhj=521,swanrede=522, +swermaessgrund1langtext=530,swermaessgrund2langtext=531, +swermaessgrund3langtext=532,swermaessgrund4langtext=533,swfach=534,swkennung= +535,swwstd=536,swdummy=526,ganztage=520,ganzgew=521,vormtage=522,vormgew=523, +nachtage=524,nachgew=525;BOOL VAR bildschirmausgabe,mitzeitwuenschen, +einzelbearbeitung,aktsj;TEXT VAR angegebeneparaphe:="",aktparaphe,halbjahr, +schuljahr,wochstdn,fachkennung;INT VAR gemerkterdbstatus,status,sollstdn, +differenz,summewochstdn:=0,zeilenhilfszahl,zeilenzahl,zusatzzeilen, +swaktklassenleiter,swaktstellvertreter;BOOL PROC paraphevorhanden:putwert( +fnrlparaphe,angegebeneparaphe);search(dnrlehrer,TRUE );IF dbstatus=0THEN +TRUE ELSE FALSE FI END PROC paraphevorhanden;PROC +unterrichtsvertlgfuerlehrereingang:standardvproc(maske)END PROC +unterrichtsvertlgfuerlehrereingang;PROC unterrichtsvertlgfuerlehrerstarten: +standardpruefe(5,fnrbsausgabe,fnrdrausgabe,0,"",status);IF status<>0THEN +infeld(status);return(1);ELSE angegebeneparaphe:=standardmaskenfeld( +fnrparaphe);IF angegebeneparaphe=niltextCOR paraphevorhandenTHEN +bildschirmausgabe:=standardmaskenfeld(fnrbsausgabe)<>niltext; +einzelbearbeitung:=standardmaskenfeld(fnrparaphe)<>niltext;mitzeitwuenschen:= +standardmaskenfeld(fnrzeitwuensche)<>niltext;aktsj:=standardmaskenfeld( +fnraktsj)<>niltext;aktparaphe:=angegebeneparaphe;startenausfuehrenELSE +standardmeldung(mnrkeinegueltigeparaphe,niltext);return(1)FI ;FI . +startenausfuehren:halbjahr:=schulkenndatum("Schulhalbjahr");schuljahr:= +schulkenndatum("Schuljahr");IF NOT (aktsj)THEN geplanteshjundsjberechnen( +halbjahr,schuljahr);FI ;setzesonderwerteschulkenndaten;setzewerte; +standardmeldung(mnrbittewarten,niltext);zusammengesetztesanschreiben( +dnrlehrer,bildschirmausgabe,einzelbearbeitung,BOOL PROC +unterrichtsvertlgfuerlehrersonderwerte,BOOL PROC +unterrichtsvertlgfuerlehrermultistop,TEXT PROC +unterrichtsvertlgfuerlehrerdruckdateibauen).setzewerte:putwert(fnrlparaphe, +aktparaphe)END PROC unterrichtsvertlgfuerlehrerstarten;BOOL PROC +unterrichtsvertlgfuerlehrermultistop:BOOL VAR ok;IF einzelbearbeitungTHEN ok +:=angegebeneparaphe=wert(fnrlparaphe)AND dbstatus=0ELSE ok:=dbstatus=0FI ;ok +END PROC unterrichtsvertlgfuerlehrermultistop;BOOL PROC +unterrichtsvertlgfuerlehrersonderwerte:TEXT VAR grund1,grund2,grund3,grund4; +initialisieresonderwerte;aktparaphe:=wert(fnrlparaphe);adressat(aktparaphe); +gemerkterdbstatus:=dbstatus;setzesonderwert(swsj,subtext(schuljahr,1,2)+ +trenner+subtext(schuljahr,3,4));setzesonderwert(swhj,halbjahr);TEXT VAR +anredetext;IF wert(fnrlgeschlecht)="m"THEN anredetext:="Herrn"ELSE anredetext +:="Frau";FI ;setzesonderwert(swanrede,anredetext);grund1:=wert(fnrlermgrund1) +;grund2:=wert(fnrlermgrund2);grund3:=wert(fnrlermgrund3);grund4:=wert( +fnrlermgrund4);sollstdn:=intwert(fnrlsollstd);inittupel(dnrschluessel); +putwert(fnrschlsachgebiet,bestandnamepersoenlermaessigung);putwert( +fnrschlschluessel,grund1);search(dnrschluessel,TRUE );IF dbstatus=0THEN +setzesonderwert(swermaessgrund1langtext,wert(fnrschllangtext))ELSE +setzesonderwert(swermaessgrund1langtext,blank)FI ;putwert(fnrschlschluessel, +grund2);search(dnrschluessel,TRUE );IF dbstatus=0THEN setzesonderwert( +swermaessgrund2langtext,wert(fnrschllangtext));ELSE setzesonderwert( +swermaessgrund2langtext,blank);FI ;putwert(fnrschlschluessel,grund3);search( +dnrschluessel,TRUE );IF dbstatus=0THEN setzesonderwert( +swermaessgrund3langtext,wert(fnrschllangtext))ELSE setzesonderwert( +swermaessgrund3langtext,blank)FI ;putwert(fnrschlschluessel,grund4);search( +dnrschluessel,TRUE );IF dbstatus=0THEN setzesonderwert( +swermaessgrund4langtext,wert(fnrschllangtext))ELSE setzesonderwert( +swermaessgrund4langtext,blank)FI ;inittupel(dnrlehrveranstaltungen);putwert( +fnrlvsj,schuljahr);putwert(fnrlvhj,halbjahr);putwert(fnrlvparaphe,aktparaphe) +;search(ixlvsjhjpar,TRUE );IF dbstatus=0THEN fachkennung:=wert( +fnrlvfachkennung);wochstdn:=wert(fnrlvwochenstd);setzesonderwert(swfach, +subtext(fachkennung,1,2));setzesonderwert(swkennung,subtext(fachkennung,3,6)) +;setzesonderwert(swwstd,wochstdn);summewochstdn:=int(wochstdn);ELSE +setzesonderwert(swfach,blank);setzesonderwert(swkennung,blank); +setzesonderwert(swwstd,blank);summewochstdn:=0;FI ;dbstatus(gemerkterdbstatus +);TRUE END PROC unterrichtsvertlgfuerlehrersonderwerte;TEXT PROC +unterrichtsvertlgfuerlehrerdruckdateibauen:LET druckdatei="liste.1", +hilfsdatei="hilfsdatei";TEXT VAR zeile;zeilenzahl:=0;zusatzzeilen:=0; +vordruckeholen;setzemitseitennummern(TRUE );druckvorbereiten;standardmeldung( +mnrlistewirdaufbereitet,niltext);briefalternative(v1datlehrer,hilfsdatei); +hilfsdateiindruckdatei(hilfsdatei);vordruck2ggfxmalindruckdatei;zeile:=blank; +druckzeileschreiben(zeile);zeilenzahlINCR 1;zeile:=42*blank+"Wstd. Summe: "+ +text(summewochstdn,2);druckzeileschreiben(zeile);zeilenzahlINCR 1;IF sollstdn +<>summewochstdnTHEN differenz:=sollstdn-summewochstdn;IF differenz<0THEN +zeile:=43*blank+"Mehrarbeit: "+text(-differenz,2)+" Std.";ELSE zeile:=24* +blank+"Sollstunden unterschritten um: "+text(differenz,2)+" Std.";FI ; +druckzeileschreiben(zeile);zeilenzahlINCR 1;FI ;zeilenzahl:=5; +vordruck3ggfindruckdatei;IF mitzeitwuenschenTHEN zeilenzahl:=17; +vordruck4ggfindruckdatei;FI ;drucknachbereitenohneausdrucken; +vordruckeloeschen;druckdatei.vordruckeholen:fetch(v1datlehrer,/ +"anschreiben server");fetch(v2datlehrveranstgn,/"anschreiben server");fetch( +v3dataktschuelergr,/"anschreiben server");fetch(v4datzeitwuensche,/ +"anschreiben server");.vordruckeloeschen:forget(v1datlehrer,quiet);forget( +v2datlehrveranstgn,quiet);forget(v3dataktschuelergr,quiet);forget( +v4datzeitwuensche,quiet);END PROC unterrichtsvertlgfuerlehrerdruckdateibauen; +PROC vordruck2ggfxmalindruckdatei:TEXT VAR hilfsdatei:="hilfsdatei";BOOL VAR +hilfsdateida:=FALSE ;succ(ixlvsjhjpar);WHILE dbstatus=0AND wert(fnrlvparaphe) +=aktparapheREP fachkennung:=wert(fnrlvfachkennung);wochstdn:=subtext(wert( +fnrlvwochenstd),1,2);setzesonderwert(swfach,subtext(fachkennung,1,2)); +setzesonderwert(swkennung,subtext(fachkennung,3,6));setzesonderwert(swwstd, +wochstdn);summewochstdnINCR int(wochstdn);briefalternative(v2datlehrveranstgn +,hilfsdatei);succ(ixlvsjhjpar);hilfsdateida:=TRUE ;PER ;IF hilfsdateidaTHEN +hilfsdateiindruckdatei(hilfsdatei)FI ;END PROC vordruck2ggfxmalindruckdatei; +PROC vordruck3ggfindruckdatei:LET hilfsdatei="hilfsdatei";TEXT VAR aufberwert +:=niltext;BOOL VAR hilfsdateiangelegt:=FALSE ;setzesonderwert(swdummy,blank); +swaktklassenleiter:=580;swaktstellvertreter:=581;gemerkterdbstatus:=dbstatus; +inittupel(dnraktschuelergruppen);putwert(fnrsgrpsj,schuljahr);putwert( +fnrsgrphj,halbjahr);search(dnraktschuelergruppen,FALSE );WHILE dbstatus=0AND +wert(fnrsgrphj)=halbjahrREP IF wert(fnrsgrplehrer)=aktparapheAND +swaktklassenleiter<590THEN aufberwert:=wert(fnrsgrpjgst);aufberwertCAT wert( +fnrsgrpkennung);setzesonderwert(swaktklassenleiter,aufberwert); +swaktklassenleiterINCR 2;hilfsdateiangelegt:=TRUE ;ELSE IF wert( +fnrsgrpstellvlehrer)=aktparapheAND swaktstellvertreter<591THEN aufberwert:= +wert(fnrsgrpjgst);aufberwertCAT wert(fnrsgrpkennung);setzesonderwert( +swaktstellvertreter,aufberwert);swaktstellvertreterINCR 2;hilfsdateiangelegt +:=TRUE ;FI ;FI ;succ(dnraktschuelergruppen)PER ;IF hilfsdateiangelegtTHEN +briefalternative(v3dataktschuelergr,hilfsdatei);hilfsdateiindruckdatei( +hilfsdatei);FI ;dbstatus(gemerkterdbstatus)END PROC vordruck3ggfindruckdatei; +PROC vordruck4ggfindruckdatei:gemerkterdbstatus:=dbstatus;LET hilfsdatei= +"hilfsdatei";TEXT VAR zeitwuensche;initialisieresonderwerte;INT VAR +aktswzeitwunsch:=531,position:=1,i;setzesonderwert(swdummy,blank);inittupel( +dnrzeitwuensche);putwert(fnrzwsj,schuljahr);putwert(fnrzwhj,halbjahr);putwert +(fnrzwbezug,"P");putwert(fnrzwbezugsobjekt,aktparaphe);search(dnrzeitwuensche +,TRUE );IF dbstatus=0THEN zeitwuensche:=wert(fnrzwunbestimmtewuensche); +setzesonderwert(ganztage,zeitwuenscheSUB 1);setzesonderwert(ganzgew, +zeitwuenscheSUB 3);setzesonderwert(vormtage,zeitwuenscheSUB 4); +setzesonderwert(vormgew,zeitwuenscheSUB 6);setzesonderwert(nachtage, +zeitwuenscheSUB 7);setzesonderwert(nachgew,zeitwuenscheSUB 9);zeitwuensche:= +wert(fnrzwbestimmtewuensche);FOR iFROM 1UPTO 66REP setzesonderwert( +aktswzeitwunsch,subtext(zeitwuensche,position,position+1));aktswzeitwunsch +INCR 1;positionINCR 2PER ;briefalternative(v4datzeitwuensche,hilfsdatei); +hilfsdateiindruckdatei(hilfsdatei);FI ;dbstatus(gemerkterdbstatus)END PROC +vordruck4ggfindruckdatei;PROC hilfsdateiindruckdatei(TEXT CONST hilfsdatei): +FILE VAR f;INT VAR i;TEXT VAR zeile;f:=sequentialfile(input,hilfsdatei); +zeilenhilfszahl:=lines(f);IF zeilenzahl+zeilenhilfszahl+zusatzzeilen>= +drucklaengeTHEN seitenwechsel;zeilenzahl:=0;FI ;FOR iFROM 1UPTO +zeilenhilfszahlREP getline(f,zeile);druckzeileschreiben(zeile)PER ;forget( +hilfsdatei,quiet);zeilenzahlINCR zeilenhilfszahlEND PROC +hilfsdateiindruckdatei;END PACKET anschrunterrichtsvertlgfuerlehrer + -- cgit v1.2.3