Index: APPS/PM/ProductService.cls.xml
===================================================================
diff -u -r1619 -r1681
--- APPS/PM/ProductService.cls.xml (.../ProductService.cls.xml) (revision 1619)
+++ APPS/PM/ProductService.cls.xml (.../ProductService.cls.xml) (revision 1681)
@@ -289,41 +289,42 @@
While(PRNrIterator.HasNext()){
Set PRNr = PRNrIterator.Next()
- Set PRNrZoek = PRNr
- If ($Find(PRNrZoek,".") '= 0){
- Set PRNrZoek = $Piece(PRNrZoek,".")
- }
- Set TempProduct = ProductAPI.GeefProduct(PRNrZoek)
- If ($IsObject(TempProduct)){
- Set Criteria=##class(APPS.PM.dto.ZoekCriteria).%New()
- Set Criteria.SoortProductID=##class(APPS.PM.enu.SoortProductID).Identnummer()
- Set Criteria.ProductID = TempProduct.GeefIdentNr()
-
- Set ProductenResultaat = ..ZoekProducten(Criteria)
- Set ProductIDIt = ##class(TECH.ListIterator).%New(ProductenResultaat.HerkendeProducten)
- While(ProductIDIt.HasNext()){
- Set ProductIDs = ProductIDIt.Next()
- If ($IsObject(ProductIDs)){
- If (PRNrZoek = ProductIDs.PRNr){
- Set ReedsToegevoegd = 0
- Set It = ##class(TECH.ListIterator).%New(ProductenLijst.HerkendeProducten)
- While It.HasNext() {
- Set ProductID = It.Next()
- If ProductID.PRNr = ProductIDs.PRNr {
- Set ReedsToegevoegd = 1
- }
+ Set Herkend = 0
+ If ((PRNr?1.N)){
+ Set TempProduct = ProductAPI.GeefProduct(PRNr)
+ If ($IsObject(TempProduct)){
+ Set Criteria=##class(APPS.PM.dto.ZoekCriteria).%New()
+ Set Criteria.SoortProductID=##class(APPS.PM.enu.SoortProductID).Identnummer()
+ Set Criteria.ProductID = TempProduct.GeefIdentNr()
+
+ Set ProductenResultaat = ..ZoekProducten(Criteria)
+ Set ProductIDIt = ##class(TECH.ListIterator).%New(ProductenResultaat.HerkendeProducten)
+ While(ProductIDIt.HasNext()){
+ Set ProductIDs = ProductIDIt.Next()
+ If ($IsObject(ProductIDs)){
+ If (PRNr = ProductIDs.PRNr){
+ Set ReedsToegevoegd = 0
+ Set It = ##class(TECH.ListIterator).%New(ProductenLijst.HerkendeProducten)
+ While It.HasNext() {
+ Set ProductID = It.Next()
+ If ProductID.PRNr = ProductIDs.PRNr {
+ Set ReedsToegevoegd = 1
+ }
+ }
+ If 'ReedsToegevoegd {
+ Set Herkend = 1
+ }
}
- If 'ReedsToegevoegd {
- Do ProductenLijst.HerkendeProducten.Insert(ProductIDs)
- }
}
- }Else{
- Do ProductenLijst.NietHerkendeProductIDs.Insert(PRNr)
}
}
- }Else{
- Do ProductenLijst.NietHerkendeProductIDs.Insert(PRNr)
}
+
+ If Herkend {
+ Do ProductenLijst.HerkendeProducten.Insert(ProductIDs)
+ }Else{
+ Do ProductenLijst.NietHerkendeProductIDs.Insert(PRNr)
+ }
}
Quit ProductenLijst
Index: vhUnitTest/APPS/PM/TestKenmerkenService.cls.xml
===================================================================
diff -u -r1619 -r1681
--- vhUnitTest/APPS/PM/TestKenmerkenService.cls.xml (.../TestKenmerkenService.cls.xml) (revision 1619)
+++ vhUnitTest/APPS/PM/TestKenmerkenService.cls.xml (.../TestKenmerkenService.cls.xml) (revision 1681)
@@ -57,11 +57,11 @@
do $$$AssertEquals(ProductenKenmerken.Kenmerken.Count(),PRNrs.Count(),"Aantal gevonden productkenmerken is het gelijk aan het aantal gevraagde producten.")
- do $$$AssertEquals(ProductenKenmerken.Kenmerken.GetAt(1).KenmerkenGroepen.GetAt(1).Sets.GetAt(1).Kenmerken.Count(),8,"Juiste aantal gedefineerde kenmerken.")
+ do $$$AssertEquals(ProductenKenmerken.Kenmerken.GetAt(1).KenmerkenGroepen.GetAt(1).Sets.GetAt(1).Kenmerken.Count(),7,"Juiste aantal gedefineerde kenmerken.")
do $$$AssertEquals(ProductenKenmerken.Kenmerken.GetAt(1).PRNr,PRNrs.GetAt(1),"PRNr komt overeen.")
- do $$$AssertEquals(ProductenKenmerken.Kenmerken.GetAt(2).KenmerkenGroepen.GetAt(1).Sets.GetAt(1).Kenmerken.Count(),15,"Juiste aantal gedefineerde kenmerken.")
+ do $$$AssertEquals(ProductenKenmerken.Kenmerken.GetAt(2).KenmerkenGroepen.GetAt(1).Sets.GetAt(1).Kenmerken.Count(),14,"Juiste aantal gedefineerde kenmerken.")
do $$$AssertEquals(ProductenKenmerken.Kenmerken.GetAt(2).KenmerkenGroepen.GetAt(1).Sets.GetAt(1).Kenmerken.GetAt(1).Naam,"Diepte","Kenmerknaam is correct ingevuld.")
]]>
@@ -82,15 +82,15 @@
do $$$AssertEquals(ProductenKenmerken.Kenmerken.GetAt(1).KenmerkenGroepen.GetAt(1).Sets.Count(),2,"Er zijn twee kenmerkensets gevonden voor het product.")
- do $$$AssertEquals(ProductenKenmerken.Kenmerken.GetAt(1).KenmerkenGroepen.GetAt(1).Sets.GetAt(1).Kenmerken.Count(),19,"Juiste aantal gedefineerde kenmerken voor ProductKenmerken1.")
+ do $$$AssertEquals(ProductenKenmerken.Kenmerken.GetAt(1).KenmerkenGroepen.GetAt(1).Sets.GetAt(1).Kenmerken.Count(),18,"Juiste aantal gedefineerde kenmerken voor ProductKenmerken1.")
do $$$AssertEquals(ProductenKenmerken.Kenmerken.GetAt(1).PRNr,PRNrs.GetAt(1),"PRNr komt overeen.")
do $$$AssertEquals(ProductenKenmerken.Kenmerken.GetAt(1).KenmerkenGroepen.GetAt(1).Sets.GetAt(1).UnID,"1003.1","UnID 1003.1 is in orde.")
do $$$AssertEquals(ProductenKenmerken.Kenmerken.GetAt(1).KenmerkenGroepen.GetAt(1).Sets.GetAt(2).UnID,"1003.2","UnID 1003.2 is in orde.")
- do $$$AssertEquals(ProductenKenmerken.Kenmerken.GetAt(1).KenmerkenGroepen.GetAt(1).Sets.GetAt(2).Kenmerken.Count(),19,"Juiste aantal gedefineerde kenmerken ProductKenmerken2.")
+ do $$$AssertEquals(ProductenKenmerken.Kenmerken.GetAt(1).KenmerkenGroepen.GetAt(1).Sets.GetAt(2).Kenmerken.Count(),18,"Juiste aantal gedefineerde kenmerken ProductKenmerken2.")
do $$$AssertEquals(ProductenKenmerken.Kenmerken.GetAt(1).KenmerkenGroepen.GetAt(1).Sets.GetAt(2).Kenmerken.GetAt(1).Naam,"BOWeten","Kenmerknaam is correct ingevuld.")
]]>
@@ -119,7 +119,7 @@
do $$$AssertEquals(ProductenKenmerken.Kenmerken.GetAt(1).KenmerkenGroepen.GetAt(1).Sets.GetAt(1).UnID,"1024","UnID 1024 is in orde.")
- do $$$AssertEquals(ProductenKenmerken.Kenmerken.GetAt(1).KenmerkenGroepen.GetAt(2).Sets.GetAt(1).Kenmerken.Count(),16,"Juiste aantal gedefineerde kenmerken voor ProductKenmerken2.")
+ do $$$AssertEquals(ProductenKenmerken.Kenmerken.GetAt(1).KenmerkenGroepen.GetAt(2).Sets.GetAt(1).Kenmerken.Count(),15,"Juiste aantal gedefineerde kenmerken voor ProductKenmerken2.")
do $$$AssertEquals(ProductenKenmerken.Kenmerken.GetAt(1).KenmerkenGroepen.GetAt(2).Sets.GetAt(1).UnID,"1024","UnID 1024 is in orde.")
@@ -137,7 +137,8 @@
Set KenmerkGroepMetadata = KenmerkenService.GeefMetadata(KenmerkGroepen).KenmerkGroepen
Do $$$AssertEquals(KenmerkGroepMetadata.Count(),1,"Correct aantal kenmerkengroepen (#1)")
- Do $$$AssertEquals(KenmerkGroepMetadata.GetAt(1).Naam,"OL","Correcte naam kenmerkengroep (OL)")
+ Do $$$AssertEquals(KenmerkGroepMetadata.GetAt(1).Code,"OL","Correcte code kenmerkengroep (OL)")
+ Do $$$AssertEquals(KenmerkGroepMetadata.GetAt(1).Naam,"ORGALUX","Correcte naam kenmerkengroep (ORGALUX)")
Set KenmerkMetadata = KenmerkGroepMetadata.GetAt(1).Kenmerken
@@ -185,9 +186,7 @@
Set Kenmerken = ProductenKenmerken.Kenmerken.GetAt(1).KenmerkenGroepen.GetAt(1).Sets.GetAt(1).Kenmerken
- Do $$$AssertEquals(Kenmerken.GetAt(4).Waarden.GetAt(1),"Keuken","Er is een ingevulde eigenschap "_Kenmerken.GetAt(4).Naam_" : "_Kenmerken.GetAt(4).Waarden.GetAt(1)_"")
- ; [Review WV JBL Kenm] wat een geflipte expression :-P
- ; bestaat er geen method Product.GeefKenmerkViaNaam("MeubelToepassing") i.p.v. GetAt(4) ?
+ Do $$$AssertEquals(Kenmerken.GetAt(4).Waarden.GetAt(1),"Set","Er is een ingevulde eigenschap "_Kenmerken.GetAt(4).Naam_" : "_Kenmerken.GetAt(4).Waarden.GetAt(1)_"")
///Kenmerk wijzigen en wegschrijven
Set Waarden = ##class(%ListOfDataTypes).%New()
@@ -351,7 +350,7 @@
Set PRNr = GewijzigdePRNrs.GetAt(1)
Set ProductenKenmerken = KenmerkenService.GeefProductenKenmerkenOne(PRNr,KenmerkGroep)
Set Kenmerken = ProductenKenmerken.Kenmerken.GetAt(1).KenmerkenGroepen.GetAt(1).Sets.GetAt(1).Kenmerken
- Do $$$AssertEquals(Kenmerken.Count(),18,"Er zijn 18 kenmerken gevonden.")
+ Do $$$AssertEquals(Kenmerken.Count(),17,"Er zijn 17 kenmerken gevonden.")
]]>
@@ -388,8 +387,8 @@
Set Kenmerken = Sets.GetAt(1).Kenmerken
Do $$$AssertEquals(Sets.Count(),2,"Er zijn 2 productkenmerken sets gevonden voor dit product.")
- Do $$$AssertEquals(Kenmerken.Count(),17,"Er zijn 17 kenmerken gevonden voor het eerste product.")
- Do $$$AssertEquals(Kenmerken.Count(),17,"Er zijn 17 kenmerken gevonden voor het tweede product.")
+ Do $$$AssertEquals(Kenmerken.Count(),16,"Er zijn 16 kenmerken gevonden voor het eerste product.")
+ Do $$$AssertEquals(Kenmerken.Count(),16,"Er zijn 16 kenmerken gevonden voor het tweede product.")
]]>
Index: APPS/PM/OL/MasterAutoGenerator.cls.xml
===================================================================
diff -u -r1551 -r1681
--- APPS/PM/OL/MasterAutoGenerator.cls.xml (.../MasterAutoGenerator.cls.xml) (revision 1551)
+++ APPS/PM/OL/MasterAutoGenerator.cls.xml (.../MasterAutoGenerator.cls.xml) (revision 1681)
@@ -260,10 +260,10 @@
}
Do ProdKM.Kenmerken.SetAt(KenmerkWaarden,KenmerkNaam)
}
+ Set ProdKM.GeneratieType = KenmerkenSet.GeneratieType
}
// Vervolledigen van de Kenmerken
- Set ProdKM.GeneratieType=ProdKM.Kenmerken.GetAt("GeneratieType")
Set sc=ProdKM.VervolledigKenmerken()
Quit ProdKM
Index: APPS/PM/KenmerkenService.cls.xml
===================================================================
diff -u -r1631 -r1681
--- APPS/PM/KenmerkenService.cls.xml (.../KenmerkenService.cls.xml) (revision 1631)
+++ APPS/PM/KenmerkenService.cls.xml (.../KenmerkenService.cls.xml) (revision 1681)
@@ -54,50 +54,28 @@
Set ProductAPI = ##class(DOM.DomeinContext).Instance().GeefProductAPI()
Set ProductService = ##class(APPS.PM.ProductService).%New()
- // nadien nagaan of er iets in kenmerkGroepen zit, als het ledig is wordt in alle kenmerkgroepen gezocht.
- if ('$IsObject(KenmerkGroepen) || (KenmerkGroepen.Count() = 0)) {
- Set KenmerkGroepen = ##class(Prod.Kenmerk.MetaGroep).GetAllMetaGroupsAsList()
- }
-
- /// UnIDs verzamelen
- Set UnIDs = ##class(%ListOfDataTypes).%New()
- Set PRNrIterator = ##class(TECH.ListIterator).%New(PRNrs)
- While (PRNrIterator.HasNext())
- {
- Set PRNr = PRNrIterator.Next()
- Set Product = ProductAPI.GeefProduct(PRNr)
- If ($IsObject(Product)){
- /// UnIDs verzamelen van dit PRNr
- Set Multiples = Product.GeefMultiples()
- If (Multiples.Count() > 0){
- Set UnIDs = ##class(TECH.ListUtils).CopyListOfDataTypes(Multiples,UnIDs)
- }Else{
- Do UnIDs.Insert(PRNr)
- }
- }Else {
- Set ErrorMsg = "GeefProductKenmerken() : Het product met PRNr '"_PRNr_"' bestaat niet."
- Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.BaseException).%New(##class(TECH.enu.ExceptionCode).GeneralError(),ErrorMsg))
- }
- }
-
- /// UnIDs naar SQLUnIDs
- Set SQLUnIDs = ..MaakSQLINParameters(UnIDs)
-
-
- /// Kenmerkgroepen verzamelen
- Set SQLKenmerken = ..MaakSQLINParameters(KenmerkGroepen)
+ /// PRNrs naar SQLPRNrs
+ Set SQLPRNrs = ..MaakSQLINParameters(PRNrs)
/// voorbereidend werk
Set ProductenKenmerken = ##class(APPS.PM.dto.Kenm.ProductenKenmerken).%New()
Set Kenmerken = ##class(%ListOfObjects).%New()
/// DataDefinities ophalen
Set RS=##class(%ResultSet).%New()
- Set SQLStatement = "SELECT ID, UnID, KenmerkGroep, KenmerkNaam, Waarden FROM Prod_Kenmerk.DataDefinitie where KenmerkGroep IN ( "_SQLKenmerken_" ) AND UnID In ( "_SQLUnIDs_" ) ORDER BY UnID, KenmerkGroep"
- /// D WLIP^vhDBG(127,SQLStatement)
+ Set SQLStatement = "SELECT PRNr, UnID, KenmerkGroep, KenmerkNaam, Waarden FROM Prod_Kenmerk.DataDefinitie where"
+ // nadien nagaan of er iets in kenmerkGroepen zit, als het ledig is wordt in alle kenmerkgroepen gezocht.
+ if ($IsObject(KenmerkGroepen) && (KenmerkGroepen.Count() '= 0)) {
+ /// Kenmerkgroepen verzamelen
+ Set SQLKenmerken = ..MaakSQLINParameters(KenmerkGroepen)
+ Set SQLStatement = SQLStatement_" KenmerkGroep IN ( "_SQLKenmerken_" ) AND"
+ }
+ Set SQLStatement = SQLStatement_" PRNr In ( "_SQLPRNrs_" )"
+
+ D WLIP^vhDBG(127,SQLStatement)
Do RS.Prepare(SQLStatement)
- Set tmpStatus = RS.Execute(SQLKenmerken,SQLUnIDs)
+ Set tmpStatus = RS.Execute()
If $$$ISOK(tmpStatus)
{
Set tmpUnID = ""
@@ -107,50 +85,51 @@
While (RS.Next())
{
Set KenmerkNaam = RS.Data("KenmerkNaam")
- Set UnID = RS.Data("UnID")
- Set PRNr = ##class(BL.Kenm.ProdMulti).GetCommonID(UnID)
- Set KenmerkGroep = RS.Data("KenmerkGroep")
-
- /// Als PRNr verandert.
- If (tmpPRNr '= PRNr){
- Set ProductKenmerken = ##class(APPS.PM.dto.Kenm.ProductKenmerken).%New()
- Set ProductKenmerken.PRNr = PRNr
- Do ProductenKenmerken.Kenmerken.Insert(ProductKenmerken)
- }
-
- /// Als kenmerkgroep verandert
- /// Enkel groepen toevoegen als er sets aanwezig zijn
- If ((tmpKenmerkGroep '= RS.Data("KenmerkGroep")) || (tmpPRNr '= PRNr)){
- Set ProductKenmerkenGroep = ##class(APPS.PM.dto.Kenm.ProductKenmerkenGroep).%New()
- Set ProductKenmerkenGroep.Naam = RS.Data("KenmerkGroep")
- Do ProductKenmerken.KenmerkenGroepen.Insert(ProductKenmerkenGroep)
- }
-
-
- /// Nagaan of dit record nog bij vorige hoort.
- If (tmpUnID '= UnID || (tmpKenmerkGroep '= KenmerkGroep)) {
- Set ProductKenmerkenSet = ##class(APPS.PM.dto.Kenm.ProductKenmerkenSet).%New()
- Set ProductKenmerkenSet.UnID = UnID
- /// GeneratieType
- Set KenmerkenSets = ProductAPI.GeefProductKenmerkenSets(PRNr, KenmerkGroep)
- Set KenmerkenSet = KenmerkenSets.GeefKenmerkenSet(UnID)
- If (KenmerkenSet.GeefKenmerkWaarden("GeneratieType").Count() > 0){
- Set ProductKenmerkenSet.GeneratieType = KenmerkenSet.GeefKenmerkWaarden("GeneratieType").GetAt(1)
- }Else{
- Set ProductKenmerkenSet.GeneratieType = ##class(APPS.PM.enu.GeneratieType).Single()
- }
- Do ProductKenmerkenGroep.Sets.Insert(ProductKenmerkenSet)
- }
-
- Set ProductKenmerk = ##class(APPS.PM.dto.Kenm.ProductKenmerk).%New()
- Set ProductKenmerk.Naam = KenmerkNaam
- Set tmpDataDef=##class(Prod.Kenmerk.DataDefinitie).%OpenId(RS.Data("ID"))
- Set ProductKenmerk.Waarden = tmpDataDef.Waarden
- Do ProductKenmerkenSet.Kenmerken.Insert(ProductKenmerk)
-
- Set tmpPRNr = PRNr
- Set tmpUnID = UnID
- Set tmpKenmerkGroep = KenmerkGroep
+ If (KenmerkNaam '= "GeneratieType"){
+ Set PRNr = RS.Data("PRNr")
+ Set UnID = RS.Data("UnID")
+ Set KenmerkGroep = RS.Data("KenmerkGroep")
+
+ /// Als PRNr verandert.
+ If (tmpPRNr '= PRNr){
+ Set ProductKenmerken = ##class(APPS.PM.dto.Kenm.ProductKenmerken).%New()
+ Set ProductKenmerken.PRNr = PRNr
+ Do ProductenKenmerken.Kenmerken.Insert(ProductKenmerken)
+ }
+
+ /// Als kenmerkgroep verandert
+ /// Enkel groepen toevoegen als er sets aanwezig zijn
+ If ((tmpKenmerkGroep '= RS.Data("KenmerkGroep")) || (tmpPRNr '= PRNr)){
+ Set ProductKenmerkenGroep = ##class(APPS.PM.dto.Kenm.ProductKenmerkenGroep).%New()
+ Set ProductKenmerkenGroep.Naam = RS.Data("KenmerkGroep")
+ Do ProductKenmerken.KenmerkenGroepen.Insert(ProductKenmerkenGroep)
+ }
+
+ /// Nagaan of dit record nog bij vorige hoort.
+ If (tmpUnID '= UnID || (tmpKenmerkGroep '= KenmerkGroep)) {
+ Set ProductKenmerkenSet = ##class(APPS.PM.dto.Kenm.ProductKenmerkenSet).%New()
+ Set ProductKenmerkenSet.UnID = UnID
+ /// GeneratieType
+ Set KenmerkenSets = ProductAPI.GeefProductKenmerkenSets(PRNr, KenmerkGroep)
+ Set KenmerkenSet = KenmerkenSets.GeefKenmerkenSet(UnID)
+ If (KenmerkenSet.GeefKenmerkWaarden("GeneratieType").Count() > 0){
+ Set ProductKenmerkenSet.GeneratieType = KenmerkenSet.GeefKenmerkWaarden("GeneratieType").GetAt(1)
+ }Else{
+ Set ProductKenmerkenSet.GeneratieType = ##class(APPS.PM.enu.GeneratieType).Single()
+ }
+ Do ProductKenmerkenGroep.Sets.Insert(ProductKenmerkenSet)
+ }
+
+ Set ProductKenmerk = ##class(APPS.PM.dto.Kenm.ProductKenmerk).%New()
+ Set ProductKenmerk.Naam = KenmerkNaam
+ Set ProductKenmerk.Waarden = ##class(TECH.ListUtils).ListbuildToList(RS.Data("Waarden")) // tmpDataDef.Waarden
+
+ Do ProductKenmerkenSet.Kenmerken.Insert(ProductKenmerk)
+
+ Set tmpPRNr = PRNr
+ Set tmpUnID = UnID
+ Set tmpKenmerkGroep = KenmerkGroep
+ }
}
}
@@ -244,11 +223,11 @@
Set KenmerkGroep = KenmerkGroepIterator.Next()
Set KenmerkGroepMetadata = ##class(APPS.PM.dto.Kenm.KenmerkGroepMetadata).%New()
- Set KenmerkGroepMetadata.Naam = KenmerkGroep
+ Set KenmerkGroepMetadata.Code = KenmerkGroep
Set Metadata = ##class(Prod.Kenmerk.MetaGroep).%OpenId(KenmerkGroep)
If $IsObject(Metadata){
Set KenmerkGroepMetadata.MultipleKenmerkenSetsToegelaten = Metadata.MultipleKenmerkenSetsToegelaten()
- Set KenmerkGroepMetadata.Omschrijving = Metadata.Omschrijving
+ Set KenmerkGroepMetadata.Naam = Metadata.Omschrijving
Set KenmerkGroepMetadata.Icoon = Metadata.Icoon
}
@@ -430,15 +409,17 @@
Set UnIDIt = ##class(TECH.ListIterator).%New(UnIDs)
While (UnIDIt.HasNext()){
Set UnID = UnIDIt.Next()
- Set PRNr = ##class(BL.Kenm.ProdMulti).GetCommonID(UnID)
- Set ProductKenmerkenSets = ProductAPI.GeefProductKenmerkenSets(PRNr,KenmerkGroep)
/// Indien UnID niet bestaat, kan er geen nieuwe kenmerkenset gecreeerd worden
If ('$Data(^Prod.Ken.DataDefinitieD(UnID))){
Set ErrorMsg = "Kan MaakNieuweKenmerkenSets("_KenmerkGroep_","_UnID_") niet uitvoeren omdat dit geen bestaand UnID is."
Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.BaseException).%New(##class(TECH.enu.ExceptionCode).GeneralError(),ErrorMsg))
}
+ Set PRNr = ##class(BL.Kenm.ProdMulti).GetCommonID(UnID)
+ Set ProductKenmerkenSets = ProductAPI.GeefProductKenmerkenSets(PRNr,KenmerkGroep)
+
+
/// Indien UnID een Auto is, kan er geen nieuwe kenmerkenset gecreeerd worden
Set KenmerkenSet = ProductKenmerkenSets.GeefKenmerkenSet(UnID)
If ($IsObject(KenmerkenSet) && (KenmerkenSet.GeefKenmerkWaarden("GeneratieType").GetAt(1) = ##class(APPS.PM.enu.GeneratieType).Auto())){
Index: APPS/PM/dto/Kenm/KenmerkGroepMetadata.cls.xml
===================================================================
diff -u -r1562 -r1681
--- APPS/PM/dto/Kenm/KenmerkGroepMetadata.cls.xml (.../KenmerkGroepMetadata.cls.xml) (revision 1562)
+++ APPS/PM/dto/Kenm/KenmerkGroepMetadata.cls.xml (.../KenmerkGroepMetadata.cls.xml) (revision 1681)
@@ -26,11 +26,11 @@
%Boolean
-
+
%String
-
+
%String
Index: vhUnitTest/APPS/PM/TestProductService.cls.xml
===================================================================
diff -u -r1542 -r1681
--- vhUnitTest/APPS/PM/TestProductService.cls.xml (.../TestProductService.cls.xml) (revision 1542)
+++ vhUnitTest/APPS/PM/TestProductService.cls.xml (.../TestProductService.cls.xml) (revision 1681)
@@ -280,8 +280,7 @@
Do PRNrs.Insert("1002")
Do PRNrs.Insert("1005")
Do PRNrs.Insert("889")
- Do PRNrs.Insert("1003.1")
- Do PRNrs.Insert("1003.2")
+ Do PRNrs.Insert("1003")
Set ProductService = ##class(APPS.PM.ProductService).%New()
@@ -409,18 +408,19 @@
Testen of de productafbeeldingen meekomen bij een productzoek
Index: zJBLTestZoekKenmerken.mac.rou
===================================================================
diff -u -r1619 -r1681
--- zJBLTestZoekKenmerken.mac.rou (.../zJBLTestZoekKenmerken.mac.rou) (revision 1619)
+++ zJBLTestZoekKenmerken.mac.rou (.../zJBLTestZoekKenmerken.mac.rou) (revision 1681)
@@ -1,5 +1,5 @@
Test
-
+ /// do Test^zJBLTestZoekKenmerken
w "Zoek OL : prnr 315014 en 557372"
set aantalkeer = 10
Set totaaltijd = 0
@@ -92,7 +92,6 @@
Set Result = ##class(APPS.PM.KenmerkenService).%New().GeefProductKenmerken(PRNrs,KenmerkGroepen)
Do StopTimer^vhLib
Set Time = $$GetInterval^vhLib
- //w Time,!
Set totaaltijd = totaaltijd + $$GetInterval^vhLib
}
@@ -188,10 +187,10 @@
Do StartTimer^vhLib
Set Result = ##class(APPS.PM.KenmerkenService).%New().GeefProductKenmerken(PRNrs,KenmerkGroepen)
- //w Result.Kenmerken.GetAt(1).KenmerkenGroepen.GetAt(1).Sets.GetAt(1).Kenmerken.GetAt(5).Naam,!
+
Do StopTimer^vhLib
Set Time = $$GetInterval^vhLib
- //w Time,!
+
Set totaaltijd = totaaltijd + $$GetInterval^vhLib
}
Index: Prod/Kenmerk/DataDefinitie.cls.xml
===================================================================
diff -u -r1619 -r1681
--- Prod/Kenmerk/DataDefinitie.cls.xml (.../DataDefinitie.cls.xml) (revision 1619)
+++ Prod/Kenmerk/DataDefinitie.cls.xml (.../DataDefinitie.cls.xml) (revision 1681)
@@ -67,6 +67,8 @@
Set ..KenmerkNaam = ""
}
+ Set ..PRNr = ##class(BL.Kenm.ProdMulti).GetCommonID(..UnID)
+
Quit ##super(insert)
]]>
@@ -115,6 +117,11 @@
KenmerkNaam
+
+Waarden
+KenmerkGroep,KenmerkNaam,PRNr,UnID
+
+
************** !!!! **************** !!! ***************************************
@@ -134,6 +141,16 @@
1
+
+
+************** !!!! **************** !!! ***************************************
+PRNr dient voor indexen te kunnen maken.
+Deze mag NOOIT door programma code gebruikt worden of aangeroepen worden !!!
+************** !!!! **************** !!! ***************************************
+%String
+1
+
+
************** !!!! **************** !!! ***************************************
@@ -940,6 +957,9 @@
KenmerkNaam
+
+PRNr
+
Index: DOM/PM/impl/ProductKenmerkenSets.cls.xml
===================================================================
diff -u -r1580 -r1681
--- DOM/PM/impl/ProductKenmerkenSets.cls.xml (.../ProductKenmerkenSets.cls.xml) (revision 1580)
+++ DOM/PM/impl/ProductKenmerkenSets.cls.xml (.../ProductKenmerkenSets.cls.xml) (revision 1681)
@@ -122,7 +122,7 @@
If (NewUnID = ""){
Set ErrorMsg = "Het gegeneerde nieuwe UnID '"_NewUnID_"' voor reeds bestaande UnID '"_BronUnID_"' is niet correct."
- Set ErrorMsg = ErrorMsg_$C(13,10)_$$ParseStatus^vhLib(NewUnID)
+ Set ErrorMsg = ErrorMsg_$C(13,10)_$$ParseStatus^vhLib(Status)
Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.BaseException).%New(##class(TECH.enu.ExceptionCode).GeneralError(),ErrorMsg))
}
@@ -216,30 +216,32 @@
}
}Else{ /// Als er nog meer dan één multiples bestaat, controleren of het opeenvolgende UnIDs zijn
/// Zonodig deze wijzigen.
- Set SubIDs = ""
- Set DoelSubUnID = $ListLength(lbMulti)
+
+ Set FromToArray = ""
For Current = 1 : 1 : $ListLength(lbMulti) {
- Set UnID = $ListGet(lbMulti,Current)
- Set StoredSubID = ##class(BL.Kenm.ProdMulti).GetSubID(UnID)
- Set SubIDs(Current) = StoredSubID
- If (StoredSubID '= Current){
- /// Alles Opschuiven
- For DoelSubUnID = (Current) : 1 : $ListLength(lbMulti) {
- Set BronUnID = $ListGet(lbMulti,DoelSubUnID)
- Set BronSubUnID = ##class(BL.Kenm.ProdMulti).GetSubID(BronUnID)
- Set DoelUnID = ##class(BL.Kenm.ProdMulti).GetFullID(..PRNr,DoelSubUnID)
- Do ..KopieerKenmerkenSets(BronUnID,DoelUnID)
- }
- }
+ Set UnID = $ListGet(lbMulti,Current)
+ Set StoredCommonID = ##class(BL.Kenm.ProdMulti).GetCommonID(UnID)
+ Set ToUnID = ##class(BL.Kenm.ProdMulti).GetFullID(StoredCommonID, Current)
+ Set FromToArray(UnID) = ToUnID
}
- /// UnID's verwijderen die niet meer nodig zijn
+ Set key=$ORDER(FromToArray(""))
+ While (key'="") {
+ If (key '= FromToArray(key)){
+ Do ..KopieerKenmerkenSets(key,FromToArray(key))
+ }
+ Set key = $ORDER(FromToArray(key))
+ }
+
+ /// UnID's verwijderen die niet meer nodig zijn
For Current = 1 : 1 : $ListLength(lbMulti) {
- If (SubIDs(Current) > DoelSubUnID){
- Set UnIDToRemove = ##class(BL.Kenm.ProdMulti).GetFullID(..PRNr,SubIDs(Current))
- Do ##class(Prod.Kenmerk.DataDefinitie).DeleteViaUnID(UnID,$LB(..KenmerkGroep))
- }
+ Set UnIDToRemove = $ListGet(lbMulti,Current)
+ Set SubID = ##class(BL.Kenm.ProdMulti).GetSubID(UnIDToRemove)
+ If (SubID > $ListLength(lbMulti)){
+ Do ##class(Prod.Kenmerk.DataDefinitie).DeleteViaUnID(UnIDToRemove,$LB(..KenmerkGroep))
+ }
}
+
}
}
Index: vhDeploy/JBL/Deploy20110714x0848.cls.xml
===================================================================
diff -u
--- vhDeploy/JBL/Deploy20110714x0848.cls.xml (revision 0)
+++ vhDeploy/JBL/Deploy20110714x0848.cls.xml (revision 1681)
@@ -0,0 +1,65 @@
+
+
+
+
+Do ##class(vhDeploy.JBL.Deploy20110714x0848).UpdateIndexen()
+1
+svn.Deploy
+0
+
+
+Indexen opbouwen van Prod.Kenm.DataDefinitie op basis van PRNr
+
+
+
+1
+
+
+
+
+1
+
+
+
+