Autor
|
Thema: Bestimmung der Anzahl Schichten pro Tag (701 mal gelesen)
|
picoi Mitglied

 Beiträge: 47 Registriert: 06.11.2009 Plant Simulation Version 8.1.3
|
erstellt am: 18. Mrz. 2010 16:32 <-- editieren / zitieren --> Unities abgeben:         
Hi! Hab noch ne Frage zu Schichten. Und zwar würd ich gern zu einer bestimmten Datumsangabe z.B. "18.03.2010" die Anzahl der Schichten an diesem Tag zurückgegeben bekommen. Je nach dem, ob ich 1- oder 2-schichtig fahre, muss ich nämlich ne andere Anlieferstatistik hinterlegen. Wie kann ich diese Information aus meinem übergebenen Schichtkalender herausziehen? Gruß, picoi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
picoi Mitglied

 Beiträge: 47 Registriert: 06.11.2009 Plant Simulation Version 8.1.3
|
erstellt am: 28. Mrz. 2010 20:33 <-- editieren / zitieren --> Unities abgeben:         
|
tsx Mitglied
 
 Beiträge: 103 Registriert: 06.03.2010
|
erstellt am: 28. Mrz. 2010 21:16 <-- editieren / zitieren --> Unities abgeben:          Nur für picoi
|
tsx Mitglied
 
 Beiträge: 103 Registriert: 06.03.2010 Plant Simulation 10.0
|
erstellt am: 02. Apr. 2010 11:54 <-- editieren / zitieren --> Unities abgeben:          Nur für picoi
|
picoi Mitglied

 Beiträge: 47 Registriert: 06.11.2009 Plant Simulation Version 8.1.3
|
erstellt am: 02. Apr. 2010 14:39 <-- editieren / zitieren --> Unities abgeben:         
So hab ich's gelöst: Zunächst habe ich den Schichtplan in einer eigenen Tabelle hinterlegt, auf die ich im folgenden Code zugreife: Code:
(tag : date) : object is zeit_inFruehschicht : string; datumzeit1, datumzeit2, startZeitpunkt : datetime; fiktiveDauer, fiktiveDauer1, zeit1, zeit2 : time; tag1, tag2 : date; tab_lieferstat, tab_Schichtplan : object; do tab_Schichtplan := root.Eingangsdaten.TAB_Schichtplan; zeit_inFruehschicht := "07:00:00"; fiktiveDauer := str_to_time("10:00"); fiktiveDauer1 := root.EingangsDaten.var_t_ProdZeit_Schicht; startZeitpunkt := str_to_datetime(to_str(tag," ",zeit_inFruehschicht)); datumzeit1 := SchichtkalenderObjekt.terminiere(startZeitpunkt,fiktiveDauer,"vorwärts"); tag1 := datumzeit1; zeit1 := timeOfDay(datumzeit1); datumzeit2 := SchichtkalenderObjekt.terminiere(startZeitpunkt,fiktiveDauer1,"vorwärts"); tag2 := datumzeit2; zeit2 := timeOfDay(datumzeit2); if tag1 = tag2 then tab_lieferstat := TAB_Lieferstatistik_2schichtig; else --Prüfe ob nur Frühschicht oder nur Spätschicht statt findet. if zeit1 < tab_Schichtplan["BIS","fs"] then tab_lieferstat := TAB_Lieferstatistik_Frühschicht; else tab_lieferstat := TAB_Lieferstatistik_Spätschicht; end; end; return tab_lieferstat; end;
Das funktioniert jetzt erstmal nur für mein 2-Schicht-System. Ist aber sicher auf für andere Zwecke anpassbar. Außerdem geb ich eine Tabelle zurück, in der die Lieferstatistik enthalten ist, die ich für diesen Produktionstag verwenden muss. Hier könnte man natürlich auch einfach eine Zahl (1 oder 2) zurückgeben. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |