Index: APPS/PM/dto/ZoekCriteria.cls.xml =================================================================== diff -u -r1073 -r1388 --- APPS/PM/dto/ZoekCriteria.cls.xml (.../ZoekCriteria.cls.xml) (revision 1073) +++ APPS/PM/dto/ZoekCriteria.cls.xml (.../ZoekCriteria.cls.xml) (revision 1388) @@ -57,5 +57,10 @@ APPS.PM.enu.StockType + + +APPS.PM.enu.GeneratieType +list + Index: APPS/PM/ProductService.cls.xml =================================================================== diff -u -r1233 -r1388 --- APPS/PM/ProductService.cls.xml (.../ProductService.cls.xml) (revision 1233) +++ APPS/PM/ProductService.cls.xml (.../ProductService.cls.xml) (revision 1388) @@ -1,7 +1,7 @@ -TECH.Error +TECH.Error,APPS.PM.OL.Common 1 %RegisteredObject 0 @@ -63,6 +63,7 @@ Do rsSearch.Execute(pxCriteria,pxSearchFormat) Set ProductAPI = ##class(DOM.DomeinContext).Instance().GeefProductAPI() + Set KenmerkenService = ##class(APPS.PM.KenmerkenService).%New() // [ Review CSC -> JBL ] Array gebruiken om sneller te zoeken in de lijst van PRNr's // Je kan ook vooraf beter een array opbouwen met als sleutel de korttekst en eentje met de geopendna datum @@ -86,6 +87,7 @@ While (ProductIDIterator.HasNext() && ((Criteria.MaxAantalResultaten = "") || (AantalToegevoegde < Criteria.MaxAantalResultaten))){ Set ProductID = ProductIDIterator.Next() Set Toevoegen = 1 + /// Als op exacte korttekst gezocht word, die hier controleren. If (Criteria.ExacteKorttekst && (Criteria.SoortProductID = ##class(APPS.PM.enu.SoortProductID).Korttekst()) && (ProductID.Korttekst '= Criteria.ProductID)){ Set Toevoegen = 0 @@ -94,7 +96,26 @@ If (Criteria.GeopendNa && (Product.GeefOpeningDatum() <= Criteria.GeopendNa)){ Set Toevoegen = 0 } + /// Als generatietype is opgegeven hierop filteren + If (Criteria.GeneratieType && (Criteria.GeneratieType '= "") && (Criteria.GeneratieType.Count() > 0) && ('Criteria.GeneratieType.Find(##class(APPS.PM.enu.GeneratieType).Onbepaald()))){ + Set UnID = ##class(BL.Kenm.ProdMulti).GetFullID(ProductID.PRNr, ProductID.MultipleNr) + Set DataDefID= ##class(Prod.Kenmerk.DataDefinitie).BuildDataDefinitionID($$$KenmerkGroepID,UnID,"GeneratieType") + If ##class(Prod.Kenmerk.DataDefinitie).%ExistsId(DataDefID) + { + Set GeneratieTypeIt = ##class(TECH.ListIterator).%New(Criteria.GeneratieType) + While (GeneratieTypeIt.HasNext()){ + Set GeneratieType = GeneratieTypeIt.Next() + Set DataDef=##class(Prod.Kenmerk.DataDefinitie).%OpenId(DataDefID) + If ((GeneratieType) '= (DataDef.Waarden.GetAt(1))){ + Set Toevoegen = 0 + } + } + }Else{ + Set Toevoegen = 0 + } + } + /// TOEVOEGEN If Toevoegen { Do ProductenLijst.HerkendeProducten.Insert(ProductID) Set AantalToegevoegde = AantalToegevoegde + 1 Index: vhUnitTest/APPS/PM/TestProductService.cls.xml =================================================================== diff -u -r1248 -r1388 --- vhUnitTest/APPS/PM/TestProductService.cls.xml (.../TestProductService.cls.xml) (revision 1248) +++ vhUnitTest/APPS/PM/TestProductService.cls.xml (.../TestProductService.cls.xml) (revision 1388) @@ -3,6 +3,7 @@ Do ##class(vhUnitTest.Manager).RunTest("/debug/display=all","APPS.PM.TestProductService") +APPS.PM.OL.Common 1 vhUnitTest.TestCase 0 @@ -136,6 +137,73 @@ ]]> + + + + + + + + + + + + + + + + + +GeneratieTypes:%ListOfDataTypes +1 + + + + + +datatype +1 +%String +0 + + +,MASTER,SINGLE,AUTO,ONBEPAALD + + + +;Master;Single;Auto;Onbepaald + + + +1 + + + + +1 + + + + +1 + + + + +1 + + + +