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
+
+
+
+