Index: APPS/Halux/Planning/PlanningService.cls.xml =================================================================== diff -u -r994 -r1012 --- APPS/Halux/Planning/PlanningService.cls.xml (.../PlanningService.cls.xml) (revision 994) +++ APPS/Halux/Planning/PlanningService.cls.xml (.../PlanningService.cls.xml) (revision 1012) @@ -1,12 +1,12 @@ - + Service voor de Halux planningstool. Ondersteunt het visulaliseren van het resourcegebruik voor alle toeleveringen die reeds ingegeven zijn. 1 %RegisteredObject -62187,56801.852768 +62199,57640.655921 0 @@ -97,6 +97,19 @@ ]]> + + +Geeft de planningsdetails voor een bepaalde datum en een bepaalde categorie specifiek voor het toeleveringsscherm. +De categorie mag leeg zijn ("") in welk geval de details voor alle categorieen getoond worden. +Dag:%Date,Categorie:APPS.Halux.Planning.enu.Categorie +%XML.DataSet + + + Geeft de overzichtsinfo terug van de gevraagde dagen. @@ -120,6 +133,29 @@ ]]> + +ToeleveringNummer:%Integer +APPS.Halux.Planning.dto.ToeleveringDetail + + + AantalWeken:%Integer,ToeleveringNummers:%ListOfDataTypes APPS.Halux.Planning.dto.DueOutAlternatiefResultaat @@ -282,6 +318,100 @@ ]]> + +ToeleveringNummer:%Integer,AantalToeleveringen:%Integer,DrempelAantalProducten:%Integer +APPS.Halux.Planning.dto.SplitsToeleveringResultaat + DrempelAantalProducten) + { + Set Aantal = ProductToeleveringLijn.GeefAantal() + Set AantalPerToelevering = ##class(TECH.Math).Floor(Aantal / AantalToeleveringen) + If ((Aantal/AantalToeleveringen) '= AantalPerToelevering) { Set AantalPerToelevering = AantalPerToelevering + 1 } + //w Aantal_" "_AantalPerToelevering,! + Set NieuweLijnNummers = ##class(%ListOfDataTypes).%New() + While (Aantal > AantalPerToelevering) + { + Set Aantal = Aantal - AantalPerToelevering + Set $ZTRAP="SplitsFout" + //w "SplitsLijn("_ToeleveringNummer_" As %Integer, "_ProductToeleveringLijn.GeefLijnNr()_" As %Integer, "_Aantal_" As %Integer) As %Integer",! + Set $ZTRAP = "" + Do NieuweLijnNummers.Insert(NieuwLijnNummer) + Set NieuwLijnNummer = NieuwLijnNummer + 1 + } + + If (NieuweLijnNummers.Count() > 0) { Do NieuweLijnenPerLijn.Insert(NieuweLijnNummers) } + } + } + + For i = 1:1:AantalToeleveringen-1 + { + Set AfTeSplitsenLijnen = ##class(%ListOfDataTypes).%New() + //w "Splits toelevering " + For j = 1:1:NieuweLijnenPerLijn.Count() + { + If (NieuweLijnenPerLijn.GetAt(j).Count() '< i) + { + Do AfTeSplitsenLijnen.Insert(NieuweLijnenPerLijn.GetAt(j).GetAt(i)) + //w NieuweLijnenPerLijn.GetAt(j).GetAt(i)_" " + } + } + //w ! + Set $ZTRAP="SplitsFout" + // Splits toelevering en gooi event voor nieuwe toelevering + Set $ZTRAP="" + } + + TCOMMIT + + // Gooi event voor gewijzigde toelevering + + Set GewijzigdeToeleveringen = ##class(%ListOfObjects).%New() + If (NieuweLijnenPerLijn.Count() > 0) + { + Do GewijzigdeToeleveringen.Insert(Toelevering) + } + + + Set DataSet = ##class(%XML.DataSet).%New() + Do DataSet.Prepare(##class(APPS.Halux.Planning.impl.Queries).GeefPlanningDetailVoor(GewijzigdeToeleveringen)) + Set Resultaat.Wijzigingen = DataSet + + Set Resultaat.Boodschap = "Splitsen van toelevering "_ToeleveringNummer_" geslaagd" + + } + Else + { + Set Resultaat.Boodschap = ToeleveringNummer_" bestaat niet" + } + + Quit Resultaat + +SplitsFout + Set $ZTRAP = "" + TROLLBACK + Set Resultaat.Boodschap = ##class(TECH.ExceptionHandler).Catch().ToString() + Quit Resultaat +]]> + + Gebruiker:%String,Opmerking:%String,Datum:%Date,ToeleveringNummers:%ListOfDataTypes APPS.Halux.Planning.dto.VerplaatsToeleveringenResultaat @@ -374,7 +504,7 @@ Set ToeleveringAPI = ##class(DOM.DomeinContext).Instance().GeefToeleveringAPI() Set GlobalToeleveringen = ##class(%ListOfObjects).%New() - Set ToeIterator = ToeleveringAPI.GeefLeverancierToeleveringIt(6332) + Set ToeIterator = ToeleveringAPI.GeefLeverancierHalux().GeefToeleveringIterator() While (ToeIterator.HasNext()) { Do GlobalToeleveringen.Insert(ToeIterator.Next()) } Set Index = 0 @@ -441,5 +571,5 @@ ]]> - +