Index: DOM/PM/Maatwerk/Calc/HF/impl/TBX/HFBodemv001.cls.xml =================================================================== diff -u -r2012 -r2020 --- DOM/PM/Maatwerk/Calc/HF/impl/TBX/HFBodemv001.cls.xml (.../HFBodemv001.cls.xml) (revision 2012) +++ DOM/PM/Maatwerk/Calc/HF/impl/TBX/HFBodemv001.cls.xml (.../HFBodemv001.cls.xml) (revision 2020) @@ -42,24 +42,17 @@ Set LadeBreedte=IngegevenKenmerken.InbouwBreedte Set BodemBreedte=LadeBreedte-AftrekVoorBodem Set BodemBreedteSQL=LadeBreedte ; Tijdelijk omdat afmetingen in Excel gebaseerd zijn op LadeBreedte - + + // FMA We zorgen ervoor dat GenereerKenmerken werkt los van de Bereken method + // zodat we deze kenmerken ook kunnen gebruiken voor de method BerekenHalffabLijst + Set SelectieKenmerken=##class(%ArrayOfDataTypes).%New() + Do ..GenereerKenmerken(IngegevenKenmerken, .SelectieKenmerken) + Set HalffabList = Context.SelecteerHalffabrikaten(##this,SelectieKenmerken) + Set BodemViaStrook=(IngegevenKenmerken.PlaatMateriaal?1(1"HS",1"KS")) If ($$$Not(BodemViaStrook)) { - // Bodem reeds op maat gezaagd (exact, standaard halffab) - - // HalffabList via SQL met SelectieKenmerken - Set SelectieKenmerken=##class(%ArrayOfDataTypes).%New() - Do SelectieKenmerken.SetAt("BODEM","MateriaalType") - Do SelectieKenmerken.SetAt(IngegevenKenmerken.LadeDiepte,"LadeDiepte") - Do SelectieKenmerken.SetAt(IngegevenKenmerken.BodemKleur,"Kleur") - Do SelectieKenmerken.SetAt(BodemBreedteSQL,"LadeBreedte") - Set HalffabList = Context.SelecteerHalffabrikaten(##this,SelectieKenmerken) - - // Filter HalffabList - ; Geen verdere filtering nodig ;Do ..FilterHalffabList(.HalffabList, IngegevenKenmerken, Context) - // Valideer en Genereer HalffabItem Set HFItemProcessor=##class(DOM.PM.Maatwerk.Calc.HF.impl.Processor.HFItemProcessorExactEen).%New() Do HFItemProcessor.ValideerHalffabList(.HalffabList) @@ -68,15 +61,6 @@ } Else { - // Bodem via Strook (bewerkt halffab) - - // HalffabList via SQL met SelectieKenmerken - Set SelectieKenmerken=##class(%ArrayOfDataTypes).%New() - Do SelectieKenmerken.SetAt("BODEMSTRK","MateriaalType") - Do SelectieKenmerken.SetAt(IngegevenKenmerken.LadeDiepte,"LadeDiepte") - Do SelectieKenmerken.SetAt(IngegevenKenmerken.BodemKleur,"Kleur") - Set HalffabList = Context.SelecteerHalffabrikaten(##this,SelectieKenmerken) - // Filter HalffabList : alleen stroken met Breedte >= Exacte BodemBreedte If (HalffabList.Count()>0) { Set GefilterdeHalffabList=HalffabList.%New() ; Maak een nieuwe instantie van dezelfde klasse als HalffabList @@ -112,6 +96,33 @@ ]]> + + +1 + + + %Library.CacheStorage Index: DOM/PM/Maatwerk/Calc/HF/IHalffabItemBuilder.cls.xml =================================================================== diff -u -r1511 -r2020 --- DOM/PM/Maatwerk/Calc/HF/IHalffabItemBuilder.cls.xml (.../IHalffabItemBuilder.cls.xml) (revision 1511) +++ DOM/PM/Maatwerk/Calc/HF/IHalffabItemBuilder.cls.xml (.../IHalffabItemBuilder.cls.xml) (revision 2020) @@ -124,10 +124,8 @@ Set HalffabItem = "" If (..BuilderMoetWerken(IngegevenKenmerken)) { - Set SelectieKenmerken=##class(%ArrayOfDataTypes).%New() Set $ZTRAP = "FoutBereken" - Do ..GenereerKenmerken(IngegevenKenmerken, .SelectieKenmerken) - Set HalffabList = Context.SelecteerHalffabrikaten(##this,SelectieKenmerken) + Set HalffabList = ..BerekenHalffabLijst(IngegevenKenmerken, Context) Do ..FilterHalffabList(.HalffabList, IngegevenKenmerken, Context) Do ..ValideerHalffabList(.HalffabList) Set HalffabItem = ..GenereerHalffabItem(.HalffabList, IngegevenKenmerken, Context) @@ -145,6 +143,33 @@ ]]> + + +Geeft de lijst van halffabs die voldoen aan de selectiekenmerken op voorwaarde dar "de builder moet werken". +Wordt gebruikt door Bereken maar ook om de mogelijke IngegevenKenmerken te bepalen. +IngegevenKenmerken:DOM.PM.Maatwerk.Calc.Common.IngegevenKenmerken,Context:DOM.PM.Maatwerk.Calc.HF.HalffabContext +%ListOfObjects + + + IngegevenKenmerken:DOM.PM.Maatwerk.Calc.Common.IngegevenKenmerken 1 Index: zTryout/FM/DOM/PM/Maatwerk/GeldigeKenmerkenBuilder.cls.xml =================================================================== diff -u --- zTryout/FM/DOM/PM/Maatwerk/GeldigeKenmerkenBuilder.cls.xml (revision 0) +++ zTryout/FM/DOM/PM/Maatwerk/GeldigeKenmerkenBuilder.cls.xml (revision 2020) @@ -0,0 +1,71 @@ + + + +persistent +1 +DOM.PM.Maatwerk.Calc.HF.IHalffabItemBuilder +0 + + +%String + + + +SamengesteldHalffabItemBuilder:DOM.PM.Maatwerk.Calc.HF.ISamengesteldHalffabItemBuilder +1 +1 +%Status + + + + +IngegevenKenmerken:DOM.PM.Maatwerk.Calc.Common.IngegevenKenmerken,Context:HalffabContext +DOM.PM.Maatwerk.Calc.HF.IHalffabItem + + + + +1 +DOM.PM.Maatwerk.Calc.HF.IHalffabListToItemProcessor + + + + +Rol:%String + + + + +%Library.CacheStorage +GeldigeKenmerkenBuilderDefaultData + +listnode +"GeldigeKenmerkenBuilder" + +SelectieKenmerken + + + + + Index: zTryout/FM/DOM/PM/Maatwerk/HalffabSelector.cls.xml =================================================================== diff -u --- zTryout/FM/DOM/PM/Maatwerk/HalffabSelector.cls.xml (revision 0) +++ zTryout/FM/DOM/PM/Maatwerk/HalffabSelector.cls.xml (revision 2020) @@ -0,0 +1,143 @@ + + + +1 +%RegisteredObject +0 + + +1 + + + + +1 +Naam,Lijst + + + + Index: DOM/PM/Maatwerk/Calc/HF/HalffabSelectorResultSet.cls.xml =================================================================== diff -u -r1075 -r2020 --- DOM/PM/Maatwerk/Calc/HF/HalffabSelectorResultSet.cls.xml (.../HalffabSelectorResultSet.cls.xml) (revision 1075) +++ DOM/PM/Maatwerk/Calc/HF/HalffabSelectorResultSet.cls.xml (.../HalffabSelectorResultSet.cls.xml) (revision 2020) @@ -44,9 +44,9 @@ Set Datum = $Piece(Datum,",") Set SQLWhereClause=SQLWhereClause_" AND GeldigVan <= ? AND GeldigTot >= ? " Set lbSQLParams=lbSQLParams_$LB(Datum)_$LB(Datum) - + // Volledige SQL query opbouwen - Set SQLQuery="SELECT ID, UnID FROM "_..HalffabSQLTableName_" "_SQLWhereClause_" GROUP BY UnID " + Set SQLQuery="SELECT ID, UnID FROM "_..HalffabSQLTableName_" "_SQLWhereClause //d WLIP^vhDBG(191,SQLQuery_" || "_$$LCVT^vhLib(lbSQLParams)) Set ..ResultSet=$$ExecDynQuery^vhQUERYLIB(SQLQuery,lbSQLParams) Index: DOM/PM/Maatwerk/Calc/HF/impl/TBX/HFLadeZijkantv001.cls.xml =================================================================== diff -u -r1482 -r2020 --- DOM/PM/Maatwerk/Calc/HF/impl/TBX/HFLadeZijkantv001.cls.xml (.../HFLadeZijkantv001.cls.xml) (revision 1482) +++ DOM/PM/Maatwerk/Calc/HF/impl/TBX/HFLadeZijkantv001.cls.xml (.../HFLadeZijkantv001.cls.xml) (revision 2020) @@ -32,14 +32,20 @@ 1