Index: zTryout/THB/BOMBOL/TAOR/VergelijkCacheDotnet.cls.xml =================================================================== diff -u -r70992 -r71135 --- zTryout/THB/BOMBOL/TAOR/VergelijkCacheDotnet.cls.xml (.../VergelijkCacheDotnet.cls.xml) (revision 70992) +++ zTryout/THB/BOMBOL/TAOR/VergelijkCacheDotnet.cls.xml (.../VergelijkCacheDotnet.cls.xml) (revision 71135) @@ -29,7 +29,7 @@ -QueryAPI:TECH.Query.QueryAPI="" +KleinstePRNr:%Integer=4000000,QueryAPI:TECH.Query.QueryAPI="" 1 1 %Status @@ -39,53 +39,111 @@ Set ..QueryAPI = $$$Implementation(QueryAPI,##class(TECH.Context).Instance().GeefQueryAPI()) Set ..ProductTypeApi = ##class(DOM.PM.impl.ProductTypeAPIimpl).%New() - Do ..VoerUitQuery() - Set ..ProductIterator = ##class(TECH.ResultSetIterator).%New(..ResultSet) + ;Do ..VoerUitQuery(KleinstePRNr) + ;Set ..ProductIterator = ##class(TECH.ResultSetIterator).%New(..ResultSet) Quit $$$OK ]]> +KleinstePRNr:%Integer 1 3816504" + Set SqlStatement = "SELECT ID FROM Prod.Product WHERE ID > '"_KleinstePRNr_"' AND GenType = 'TAO'" // where ID IN (4324780,4324781,4324782,4324783,4324784,4324785,4324789,4324790,4324791,4324792,4324793,4324794,4324795,4324796)" Set ..ResultSet = ..QueryAPI.GetResultSet(##class(TECH.DynamicQuery).%New(SqlStatement)) ]]> - - - - + +Do ##class(zTryout.THB.BOMBOL.TAOR.VergelijkCacheDotnet).%New().VergelijkActuelePrijsMetPrijsInSchaduw() = "66565") { // 66565 = 1/4/23 + #dim ActuelePrijs As %Decimal = ..GeefPrijsVanProduct(+ProductID) + #dim ActuelePrijsAfgerond As %Decimal = ActuelePrijs // ##class(TECH.Math).Round(ActuelePrijs, 2) + #dim SchaduwPrijs As %Decimal = ..GeefSchaduwPrijsVanProduct(+ProductID) + #dim SchaduwPrijsAfgerond As %Decimal = SchaduwPrijs // ##class(TECH.Math).Round(SchaduwPrijs, 2) + Set CountTotaal = CountTotaal + 1 + Set Prijsverschil = SchaduwPrijsAfgerond - ActuelePrijsAfgerond + + If $$$Not(ActuelePrijsAfgerond = SchaduwPrijsAfgerond) { + Set CountVerschillen = CountVerschillen + 1 + + If ((Prijsverschil < 0.01) && (Prijsverschil > -0.01)) { + Set LijstKleinerDan1CentVerschillenBeperkt = $$$If(CountVerschillenKleinerDan1Cent > 30, LijstKleinerDan1CentVerschillenBeperkt, LijstKleinerDan1CentVerschillenBeperkt _ "/" _ ProductID) + Set CountVerschillenKleinerDan1Cent = CountVerschillenKleinerDan1Cent + 1 + } + If ((Prijsverschil >= 0.01) || (Prijsverschil <= -0.01)) { + Do ..Console.WriteLine("'"_$Justify(Prijsverschil,7,4)_"' verschil in prijs voor product '"_ProductID_"' "_$$$TAB_"- Prijs in Cache: '"_$Justify(ActuelePrijs,7,4)_"' "_$$$TAB_"en prijs in .net (nu in schaduw): '"_$Justify(SchaduwPrijs,7,4)_"' - BerekenDatum = '"_##class(TECH.DateTime.impl.DateTimeAPI).%New().HorologToTimeStamp(BerekenDatum)_"'") + + If ((Prijsverschil < 0.02) && (Prijsverschil > -0.02)) { + Set CountVerschillenTussen1en2Cent = CountVerschillenTussen1en2Cent +1 + } + } + } + //} + } + } + /* While ..ProductIterator.HasNext() { Set ProductID = ..ProductIterator.Next().GetData(1) If (..ProductTypeApi.IsTAORboxProduct(ProductID)) { - #dim ActuelePrijs As %Decimal = ..GeefPrijsVanProduct(+ProductID) - #dim SchaduwPrijs As %Decimal = ..GeefSchaduwPrijsVanProduct(+ProductID) - Set CountTotaal = CountTotaal + 1 + Set Product = ..ProductTypeApi.GeefTAORboxProduct(ProductID) + Set BerekeningSpecificatie = Product.GeefBerekeningsSpecificatie() + Set BerekenDatum = BerekeningSpecificatie.GeefBerekenDatum() - If $$$Not(ActuelePrijs = SchaduwPrijs) { - Set CountVerschillen = CountVerschillen + 1 - #dim Prijsverschil = ##class(TECH.Math).Round(SchaduwPrijs - ActuelePrijs, 2) - Do ..Console.WriteLine("'"_Prijsverschil_"' verschil in prijs voor product '"_ProductID_"' "_$$$TAB_"- Prijs in Cache: '"_ActuelePrijs_"' "_$$$TAB_"en prijs in .net (nu in schaduw): '"_SchaduwPrijs_"'") + If (BerekenDatum >= "66565") { // 66565 = 1/4/23 + #dim ActuelePrijs As %Decimal = ..GeefPrijsVanProduct(+ProductID) + #dim ActuelePrijsAfgerond As %Decimal = ##class(TECH.Math).Round(ActuelePrijs, 2) + #dim SchaduwPrijs As %Decimal = ..GeefSchaduwPrijsVanProduct(+ProductID) + #dim SchaduwPrijsAfgerond As %Decimal = ##class(TECH.Math).Round(SchaduwPrijs, 2) + Set CountTotaal = CountTotaal + 1 + Set Prijsverschil = SchaduwPrijsAfgerond - ActuelePrijsAfgerond + + If $$$Not(ActuelePrijsAfgerond = SchaduwPrijsAfgerond) { + Set CountVerschillen = CountVerschillen + 1 + + If ((Prijsverschil = 0.01) || (Prijsverschil = -0.01)) { + Set CountVerschillen1Cent = CountVerschillen1Cent + 1 + } + If ((Prijsverschil > 0.01) || (Prijsverschil < -0.01)) { + Do ..Console.WriteLine("'"_$Justify(Prijsverschil,7,2)_"' verschil in prijs voor product '"_ProductID_"' "_$$$TAB_"- Prijs in Cache: '"_$Justify(ActuelePrijs,7,2)_"' "_$$$TAB_"en prijs in .net (nu in schaduw): '"_$Justify(SchaduwPrijs,7,2)_"' - BerekenDatum = '"_##class(TECH.DateTime.impl.DateTimeAPI).%New().HorologToTimeStamp(BerekenDatum)_"'") + } + } } } } - + */ + Do ..Console.WriteLine("") Do ..Console.WriteLine("Totaal aantal TAOR-lades gecontrolleerd: '"_CountTotaal_"'") Do ..Console.WriteLine("Totaal aantal TAOR-lades met prijsverschillen '"_CountVerschillen_"'") + Do ..Console.WriteLine("Totaal aantal TAOR-lades met KleinerDan-1-cent-prijsverschillen '"_CountVerschillenKleinerDan1Cent_"'") + Do ..Console.WriteLine("Lijst KleinerDan-1-cent-prijsverschillen (eerst gevonden 30): "_LijstKleinerDan1CentVerschillenBeperkt) + Do ..Console.WriteLine("Totaal aan TAOR-lades met prijsverschillen tussen 1 en 2 cent: '"_CountVerschillenTussen1en2Cent_"'") + Do ..Console.WriteLine("Totaal aantal TAOR-lades met prijsverschillen van meer dan 2 cent: '"_(CountVerschillen - CountVerschillenKleinerDan1Cent - CountVerschillenTussen1en2Cent)_"'") ]]>