Index: DOM/PM/impl/MaatwerkCalcAPI.cls.xml =================================================================== diff -u -r62540 -r62949 --- DOM/PM/impl/MaatwerkCalcAPI.cls.xml (.../MaatwerkCalcAPI.cls.xml) (revision 62540) +++ DOM/PM/impl/MaatwerkCalcAPI.cls.xml (.../MaatwerkCalcAPI.cls.xml) (revision 62949) @@ -28,6 +28,7 @@ Set ..LadeInfoAPI = ##class(DOM.PM.Maatwerk.impl.LadeInfoAPI).%New() Set ..IngegevenKenmerkenAPI = ##class(DOM.PM.impl.IngegevenKenmerkenAPIimpl).%New() Set ..CacheEenHalffabItemBoom = CacheEenHalffabItemBoom + Quit $$$OK ]]> @@ -37,16 +38,18 @@ DOM.PM.Maatwerk.Lade.RugUtils DOM.PM.Maatwerk.Lade.BodemUtils @@ -73,35 +78,37 @@ DOM.PM.Maatwerk.Lade.LadeUtils DOM.PM.Maatwerk.Lade.ExtremaBreedteBepaler - DOM.PM.Maatwerk.Lade.OpvullijstBreedteBepaler - DOM.PM.Maatwerk.Lade.CorpusBreedteBepaler - @@ -116,17 +123,18 @@ PPSKenmerkGroep:%String %String HalffabItemsBoom:DOM.PM.Maatwerk.Calc.HF.HalffabItemsBoom,IngegevenKenmerken:DOM.PM.Maatwerk.Calc.Common.IngegevenLadeKenmerken DOM.PM.Maatwerk.LadeInfo.Lade - @@ -138,19 +146,22 @@ #dim BerekeningSpecificatie As DOM.PM.Maatwerk.Calc.Common.BerekeningsSpecificatie = ..GeefBerekeningSpecificatie(Hoeveelheid,KlantID,Personality,Tag, Datum) #dim CacheKey As %String = ..IngegevenKenmerkenAPI.GeefHash(IngegevenKenmerken)_"#"_Hoeveelheid_"#"_KlantID_"#"_Personality.GeefID()_"#"_BerekeningSpecificatie.BerekenTag_"#"_BerekeningSpecificatie.BerekenDatum_"#"_BerekeningSpecificatie.BerekeningWijze - if $$$Not(..HalffabItemsBoomCache.IsDefined(CacheKey)) { + If $$$Not(..HalffabItemsBoomCache.IsDefined(CacheKey)) { ; indien true in constructor, cache groote één. ; Hou enkel de laatste bij, anders riskeert de cache te groot te worden (synchronize van winkelkarren > 89 maatwerk lijnen) ; de boom wordt een paar keer na elkaar opgevraagd, alleen de laatste cachen is dus in de meeste gevallen voldoende Do:(..CacheEenHalffabItemBoom) ..HalffabItemsBoomCache.Clear() #dim HalffabContext As DOM.PM.Maatwerk.Calc.HF.HalffabContext = ##class(DOM.PM.Maatwerk.Calc.HF.HalffabContext).%New(IngegevenKenmerken.GeefFamilie(), IngegevenKenmerken.GeefVariant(), BerekeningSpecificatie) + Do HalffabContext.GeefHalffabSpec().BerekenHalffabDetails(HalffabContext, IngegevenKenmerken) - set HalffabItemsBoom = HalffabContext.HalffabItemsBoom - do ..HalffabItemsBoomCache.SetAt(HalffabItemsBoom, CacheKey) + Set HalffabItemsBoom = HalffabContext.HalffabItemsBoom + Do ..HalffabItemsBoomCache.SetAt(HalffabItemsBoom, CacheKey) } - set HalffabItemsBoom = ..HalffabItemsBoomCache.GetAt(CacheKey) - quit HalffabItemsBoom + + Set HalffabItemsBoom = ..HalffabItemsBoomCache.GetAt(CacheKey) + + Quit HalffabItemsBoom ]]> @@ -166,7 +177,9 @@ @@ -175,7 +188,7 @@ Hoeveelheid:%Integer,KlantID:DOM.VKP.VanHoeckeKlantID,Personality:DOM.common.impl.Personality,Tag:%String="",Datum:%Date="" 1 DOM.PM.Maatwerk.Calc.Common.BerekeningsSpecificatie -