Index: APPS/common/KlantKost/impl/data/EnkelvoudigeFactor.cls.xml =================================================================== diff -u -r1384 -r1426 --- APPS/common/KlantKost/impl/data/EnkelvoudigeFactor.cls.xml (.../EnkelvoudigeFactor.cls.xml) (revision 1384) +++ APPS/common/KlantKost/impl/data/EnkelvoudigeFactor.cls.xml (.../EnkelvoudigeFactor.cls.xml) (revision 1426) @@ -18,6 +18,9 @@ Set sc = rset.Execute(..%ClassName(),..%Id(),..Naam,Datum) If (rset.Next(.sc)){ Set Waarde = rset.Data("Waarde") + }Else{ + Set Bericht = "Factor "_..Naam_" die geldig is op "_$zd(Datum,4)_" niet gevonden." + Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.BaseException).%New(##class(TECH.enu.ExceptionCode).InvalidInput(),Bericht)) } Quit Waarde ]]> Index: APPS/common/KlantKost/impl/data/BezoekKostItem.cls.xml =================================================================== diff -u -r1423 -r1426 --- APPS/common/KlantKost/impl/data/BezoekKostItem.cls.xml (.../BezoekKostItem.cls.xml) (revision 1423) +++ APPS/common/KlantKost/impl/data/BezoekKostItem.cls.xml (.../BezoekKostItem.cls.xml) (revision 1426) @@ -25,8 +25,7 @@ Set ..KostType = ##class(APPS.common.KlantKost.enu.KostType).Bezoek() Set ..Kost = Kost Set ..BezoekID = BezoekID - ; [Review WV JBL KPIanalyse ] Best nu reeds ##super(...) oproepen, ook al is die nog niet nodig. - Quit $$$OK + Quit ##super() ]]> Index: vhDeploy/Deploy201106081058.cls.xml =================================================================== diff -u --- vhDeploy/Deploy201106081058.cls.xml (revision 0) +++ vhDeploy/Deploy201106081058.cls.xml (revision 1426) @@ -0,0 +1,39 @@ + + + + +JBL : berekenen van kosten van de laatste paar jaar voor iedere klant +1 +svn.Deploy +0 + + +1 + + + + Index: Stat/OmzetKlantProductMaand.cls.xml =================================================================== diff -u -r1384 -r1426 --- Stat/OmzetKlantProductMaand.cls.xml (.../OmzetKlantProductMaand.cls.xml) (revision 1384) +++ Stat/OmzetKlantProductMaand.cls.xml (.../OmzetKlantProductMaand.cls.xml) (revision 1426) @@ -159,8 +159,8 @@ For Quit:'result.Next() Do . Set KLNr = result.Data("KLNr") - //. Write result.Data("KLNr")," ", result.Data("Naam")," ", result.Data("Regio")," ", result.Data("Vervallen")," ", result.Data("Codex")," ", result.Data("Uitz") - //. write " voBlum:",result.Data("VoBlum")," huOL:",result.Data("HuOL"),! + . Write result.Data("KLNr")," ", result.Data("Naam")," ", result.Data("Regio")," ", result.Data("Vervallen")," ", result.Data("Codex")," ", result.Data("Uitz") + . write " voBlum:",result.Data("VoBlum")," huOL:",result.Data("HuOL"),! Do StopTimer^vhLib Set Tijd = $$GetInterval^vhLib @@ -280,6 +280,7 @@ Set PRNr=$O(^KSTKL(KLNr,PRNr)) } + Set Klant=##class(Derde.Klant.Klant).%OpenId(KLNr) Set LevAdr=$$DEFAULT^LEVADR(KLNr) Set (OmzetHuidigList,OmzetVorigList,MargeVorigList,MargeHuidigList)="" @@ -328,8 +329,9 @@ Set Row=Row_$LB(CatalogusInfo) /// Kosten toevoegen - Set KostprijsVertegenw = ..GeefKostprijsVertegenwKlant(KLNR,##class(APPS.common.KlantKost.enu.KostType).Bezoek(),%HorologHuidigVan,%HorologHuidigTot) - Set AlleKosten = ..GeefKostprijsVertegenwKlant(KLNR,,%HorologHuidigVan,%HorologHuidigTot) + Set KostprijsVertegenw = ..GeefKostprijsVertegenwKlant(KLNr,##class(APPS.common.KlantKost.enu.KostType).Bezoek(),%HorologHuidigVan,%HorologHuidigTot) + Set AlleKosten = ..GeefKostprijsVertegenwKlant(KLNr,,%HorologHuidigVan,%HorologHuidigTot) + Set Row=Row_$LB(KostprijsVertegenw,AlleKosten) Quit $$$OK @@ -388,37 +390,6 @@ ]]> - - -Geef voor de klant de kostprijs van de bezoeken (= kostprijs vergegenw klant) tussen de opgegeven data. -1 -KlantNr:%Integer,KostType:APPS.common.KlantKost.enu.KostType="",HuidigVan:%Date,HuidigTot:%Date -%Float -= ?) OR (Jaar = ? AND MAAND <= ?)) AND KlantNr = ? ") - Do RSet.Execute(KostType,##class(TECH.DateTime).Jaar(+HuidigVan),MaandVan,##class(TECH.DateTime).Jaar(+HuidigVan),MaandTot,KlantNr) - } - /// Alle kosten berekenen - Else{ - Do RSet.Prepare("Select SUM(Kost) As Kostprijs from APPS_common_KlantKost_impl_data.MaandKost WHERE ((Jaar = ? AND MAAND >= ?) OR (Jaar = ? AND MAAND <= ?)) AND KlantNr = ? ") - Do RSet.Execute(##class(TECH.DateTime).Jaar(+HuidigVan),MaandVan,##class(TECH.DateTime).Jaar(+HuidigTot),MaandTot,KlantNr) - } - If (RSet.Next()){ - Set Kostprijs = RSet.Data("Kostprijs") - } - If (Kostprijs = "") Set Kostprijs = 0 - Quit Kostprijs -]]> - - SQL kosten bezoek laatste 12 maand @@ -458,6 +429,39 @@ ]]> + + +JBL + 2011-06-08 +Geef voor de klant de kostprijs van de bezoeken (= kostprijs vergegenw klant) tussen de opgegeven data. +1 +KlantNr:%Integer,KostType:APPS.common.KlantKost.enu.KostType="",HuidigVan:%Date,HuidigTot:%Date +%Float += ?) OR (Jaar = ? AND MAAND <= ?)) AND KlantNr = ? AND KostType = ?") + Do RSet.Execute(JaarVan,MaandVan,JaarTot,MaandTot,KlantNr,KostType) + } + /// Alle kosten berekenen + Else{ + Do RSet.Prepare("Select SUM(Kost) As Kostprijs from APPS_common_KlantKost_impl_data.MaandKost WHERE ((Jaar = ? AND MAAND >= ?) OR (Jaar = ? AND MAAND <= ?)) AND KlantNr = ? ") + Do RSet.Execute(JaarVan,MaandVan,JaarTot,MaandTot,KlantNr) + } + If (RSet.Next()){ + Set Kostprijs = RSet.Data("Kostprijs") + } + If (Kostprijs = "") Set Kostprijs = 0 + Quit Kostprijs +]]> + + %Library.CacheSQLStorage ^Stat.ProdMaandS Index: TECH/Concurrency/DbUtils.cls.xml =================================================================== diff -u -r1074 -r1426 --- TECH/Concurrency/DbUtils.cls.xml (.../DbUtils.cls.xml) (revision 1074) +++ TECH/Concurrency/DbUtils.cls.xml (.../DbUtils.cls.xml) (revision 1426) @@ -23,7 +23,6 @@ If ('insert) { // Neem een exclusieve lock op het object - d WLIP^vhDBG(127,"%LockId "_Object_" ("_Object.%Id()_") [DbUtils.OnBeforeSave()]") Set StatusCode = Object.%LockId(Object.%Id(), 0) If $$$ISERR(StatusCode) { @@ -75,9 +74,7 @@ vhUnitTest.TestCase 0 + +%String +UnitTestFactor + + %Status %Status SQL : ... WHERE ID = :FactorNaam - ; - ;Set FactorNaam=..GeefUTFactorNaam() - + Set UnitTestFactor = ..#UnitTestFactor &SQL( DELETE FROM APPS_common_KlantKost_impl_data.Factor - WHERE ID = "UnitTestFactor") + WHERE ID = :UnitTestFactor) &SQL( DELETE FROM APPS_common_KlantKost_impl_data.MeervoudigeFactor - WHERE ID = "UnitTestFactor") + WHERE ID = :UnitTestFactor) Quit $$$OK ]]> + +Test het opvragen van verschillende factoren op verschillende data's. + + + + +Test het opvragen van een bestaande factor maar op een datum waar de factor niet geldig is. + error of leeg resultaat ? + Do $$$AssertTrue($IsObject(MeervoudigeFactor),"Factor UnitTestFactor is gevonden.") + + Set $ZTRAP = "Catch" + Set FactorWaarde = MeervoudigeFactor.ZoekFactorWaarde("f2",$h-500) + Quit $$$OK +Catch + Do $$$AssertTrue($ECODE["InvalidInput","Factorwaarde voor specifiek item 'f2' is niet bestaand op datum "_($h-500)) + Quit $$$OK ]]> + + + +Test het opvragen van een onbestaande factor. + + Index: APPS/common/KlantKost/impl/KlantKostService.cls.xml =================================================================== diff -u -r1423 -r1426 --- APPS/common/KlantKost/impl/KlantKostService.cls.xml (.../KlantKostService.cls.xml) (revision 1423) +++ APPS/common/KlantKost/impl/KlantKostService.cls.xml (.../KlantKostService.cls.xml) (revision 1426) @@ -3,6 +3,7 @@ JBL + 2011-05-30 +vhLib.Macro APPS.common.KlantKost.KlantKostService 0 @@ -26,7 +27,7 @@ elke nacht (na backup) moeten de klantkosten van de voorbije kalendermaand herberekend worden "_Naam_" die geldig is op "_$zd(Datum,4)_" niet gevonden." + Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.BaseException).%New(##class(TECH.enu.ExceptionCode).InvalidInput(),Bericht)) } Quit Waarde ]]> Index: APPS/common/KlantKost/impl/data/IndividueelKostItem.cls.xml =================================================================== diff -u -r1384 -r1426 --- APPS/common/KlantKost/impl/data/IndividueelKostItem.cls.xml (.../IndividueelKostItem.cls.xml) (revision 1384) +++ APPS/common/KlantKost/impl/data/IndividueelKostItem.cls.xml (.../IndividueelKostItem.cls.xml) (revision 1426) @@ -24,6 +24,15 @@ %Float + +Datum:%Date,KlantNr:%Integer,Kost:%Integer,BezoekID:%String +1 +1 +%Status + + + %Library.CacheStorage ^APPS.commonB5C.IndividueelK7A2D Index: APPS/common/KlantKost/impl/KostCalculator.cls.xml =================================================================== diff -u -r1423 -r1426 --- APPS/common/KlantKost/impl/KostCalculator.cls.xml (.../KostCalculator.cls.xml) (revision 1423) +++ APPS/common/KlantKost/impl/KostCalculator.cls.xml (.../KostCalculator.cls.xml) (revision 1426) @@ -5,15 +5,13 @@ JBL + 2011-05-30 De calculator weet -- dde brondata te vinden +- de brondata te vinden - welke formule toe te passen - welke factoren te gebruiken in de formule -Implementatie van de calculaties zal geval per geaval verschillen. +Implementatie van de calculaties zullen geval per geval verschillen. In het eenvoudigste geval kan een SQL-statement volstaan. - - -; [Review WV JBL KPIanalyse ] Meerdere spellingsfouten in bovenstaande comments :-P + 1 %RegisteredObject 0