Index: APPS/Halux/PPS/Document/impl/common/BatchNaarObjective/OptieGenerator/AantalRollenOptiesGenerator.cls.xml =================================================================== diff -u -r74483 -r74723 --- APPS/Halux/PPS/Document/impl/common/BatchNaarObjective/OptieGenerator/AantalRollenOptiesGenerator.cls.xml (.../AantalRollenOptiesGenerator.cls.xml) (revision 74483) +++ APPS/Halux/PPS/Document/impl/common/BatchNaarObjective/OptieGenerator/AantalRollenOptiesGenerator.cls.xml (.../AantalRollenOptiesGenerator.cls.xml) (revision 74723) @@ -110,21 +110,41 @@ If ..MagHalffabItemToegevoegdWorden(HalffabItem, NietMeeleverenLijst, IngegevenKenmerken.GeefVariant()) { #dim Naam As %String = ..GeefRolNaam(HalffabItem, IngegevenKenmerken) #dim Aantal As %String = ProductLijn.GeefAantal() * HalffabItem.GeefAantal() + #dim IsTBXDubbeleSifonlade As %Boolean = $$$False - #dim KeyValuePair As TECH.KeyValuePair = AantallenPerRol.FindByKey(Naam) - If ($IsObject(KeyValuePair)) { - Set Aantal = KeyValuePair.Value + Aantal - Do AantallenPerRol.RemoveByKey(Naam) - Do AantallenPerRol.InsertKeyValue(Naam, Aantal) - } Else { - Do AantallenPerRol.InsertKeyValue(Naam, Aantal) + If ((Naam = "Sifonkap") && (IngegevenKenmerken.%ClassName(1) = "DOM.PM.Maatwerk.Calc.Common.impl.TBXKenmerken")){ + Set Naam = "Sifonkap.z1" + If (HalffabItem.GeefAantal() = 2) { + Set IsTBXDubbeleSifonlade = $$$True + Set Aantal = Aantal / 2 + } } + + Do ..VoegToeAantalPerRol(AantallenPerRol, Naam, Aantal) + + If (IsTBXDubbeleSifonlade) { + Do ..VoegToeAantalPerRol(AantallenPerRol, "Sifonkap.z2", Aantal) + } } } } ]]> + + + + + HalffabItem:DOM.PM.Maatwerk.Calc.HF.IHalffabItem,NietMeeleverenLijst:%ListOfDataTypes,Variant:%String %Boolean Index: APPS/Halux/PPS/Document/impl/common/BatchNaarObjective/OptieGenerator/RollenEnStuklijstOptiesGenerator.cls.xml =================================================================== diff -u -r74613 -r74723 --- APPS/Halux/PPS/Document/impl/common/BatchNaarObjective/OptieGenerator/RollenEnStuklijstOptiesGenerator.cls.xml (.../RollenEnStuklijstOptiesGenerator.cls.xml) (revision 74613) +++ APPS/Halux/PPS/Document/impl/common/BatchNaarObjective/OptieGenerator/RollenEnStuklijstOptiesGenerator.cls.xml (.../RollenEnStuklijstOptiesGenerator.cls.xml) (revision 74723) @@ -57,15 +57,33 @@ #dim IsRolTbxStabilisatorStang As %Boolean = (HalffabItem.GeefRol() = ##class(DOM.PM.Maatwerk.Calc.HF.enu.TBXRol).StabilisatorStang()) #dim IsRolLbxIngebrepenAfdekkapBinnen As %Boolean = ((HalffabItem.%ClassName() [ "InbegrepenHalffabItem") && (HalffabItem.GeefRol() = ##class(DOM.PM.Maatwerk.Calc.HF.enu.LBXRol).AfdekkapBinnen()) && (Batch.GeefCategorie() = ##class(APPS.Halux.common.enu.Categorie).Legrabox())) #dim IsRolLbxIngebrepenAfdekkapBuiten As %Boolean = ((HalffabItem.%ClassName() [ "InbegrepenHalffabItem") && (HalffabItem.GeefRol() = ##class(DOM.PM.Maatwerk.Calc.HF.enu.LBXRol).AfdekkapBuiten()) && (Batch.GeefCategorie() = ##class(APPS.Halux.common.enu.Categorie).Legrabox())) + #dim IsRolTbxSifonkap As %Boolean = ((HalffabItem.GeefRol() = ##class(DOM.PM.Maatwerk.Calc.HF.enu.TBXRol).Sifonkap()) && (Batch.GeefCategorie() = ##class(APPS.Halux.common.enu.Categorie).Tandembox())) + #dim IsTbxDubbeleSifon As %Boolean = $$$False Do ..FixHalffabItemVoorInbegrepenAfdekkappen(.HalffabItem, Batch, IngegevenKenmerken, KlantId) If (($$$Not(HalffabItem.%Extends("DOM.PM.Maatwerk.Calc.HF.SamengesteldHalffabItem"))) && ($$$Not(HalffabItem.%ClassName() [ "InbegrepenHalffabItem"))) { If ($$$Not(IsRolTbxStabilisatorStang) || (IsRolTbxStabilisatorStang && (HuidigeMESFase > 1))) { + If (IsRolTbxSifonkap) { + Do HalffabItem.ZetRol("Sifonkap.z1") + If (HalffabItem.GeefAantal() = 2) { + Do HalffabItem.ZetAantal(1) + Set IsTbxDubbeleSifon = $$$True + } + } + If ($$$Not(HalffabItem.GeefAantal() = 0)) { Do Opties.Insert(..GeefOptieVoorLadeVoorRol(HalffabItem, IngegevenKenmerken, SequentieNummerLade)) Do Opties.Insert(..GeefOptieVoorLadeVoorStuklijst(HalffabItem, IngegevenKenmerken, SequentieNummerLade, $Increment(Index))) } + + If (IsTbxDubbeleSifon) { + Do HalffabItem.ZetRol("Sifonkap.z2") + Do Opties.Insert(..GeefOptieVoorLadeVoorRol(HalffabItem, IngegevenKenmerken, SequentieNummerLade)) + Do Opties.Insert(..GeefOptieVoorLadeVoorStuklijst(HalffabItem, IngegevenKenmerken, SequentieNummerLade, $Increment(Index))) + Do HalffabItem.ZetRol(##class(DOM.PM.Maatwerk.Calc.HF.enu.TBXRol).Sifonkap()) + Do HalffabItem.ZetAantal(2) + } } Set:((..GeefRolNaam(HalffabItem, IngegevenKenmerken) = "Rugstaal")) StalenRugPRNr = HalffabItem.GeefHalffab().GeefProductID()