Index: APPS/Halux/PPS/Document/impl/common/OnderdelenPicking.cls.xml =================================================================== diff -u -r37974 -r42815 --- APPS/Halux/PPS/Document/impl/common/OnderdelenPicking.cls.xml (.../OnderdelenPicking.cls.xml) (revision 37974) +++ APPS/Halux/PPS/Document/impl/common/OnderdelenPicking.cls.xml (.../OnderdelenPicking.cls.xml) (revision 42815) @@ -1,15 +1,22 @@ + +Dit is een UitvoeringInfoLijstVerwerker, maar één van de oude stijl, die namelijk de gegevens nog moet bij elkaar zoeken. +Kent de rollen die getoond moeten worden. 1 APPS.Halux.PPS.Document.impl.BulkTekstDocumentAfdrukker - + + +Deze maakt een platte lijst van alle HalfFabItems. APPS.Halux.PPS.Activiteit.impl.common.OnderdelenPicking.HalffabItemNaarKnoopVisitor 1 + +N.B. Dit gaat over een lijnen in de zin van "Lijn 1 aka die met de kartonmachin"; dus niet over onderdelenpickinglijnen. APPS.Halux.PPS.impl.Formatter.ProductieLijn 1 @@ -46,21 +53,36 @@ -HalffabItemNaarKnoopVisitor:APPS.Halux.PPS.Activiteit.impl.common.OnderdelenPicking.HalffabItemNaarKnoopVisitor +PlatteHalffabItemLijstMaker:APPS.Halux.PPS.Activiteit.impl.common.OnderdelenPicking.HalffabItemNaarKnoopVisitor 1 1 %Status 1 + +UitvoeringInfoLijst:APPS.Halux.PPS.dto.UitvoeringInfoLijst +1 +%ListOfObjects +ELEMENTTYPE="APPS.common.Print.Kolommen.Document" + + + OnderdelenPickingUitvoeringInfo:APPS.Halux.PPS.Activiteit.impl.common.dto.OnderdelenPickingUitvoeringInfo 1 @@ -96,6 +118,8 @@ + +Hook om bvb. een stukje Assemblagekarren-verwerking aan te hangen. OnderdelenPickingUitvoeringInfo:APPS.Halux.PPS.Activiteit.impl.common.dto.OnderdelenPickingUitvoeringInfo 1 @@ -115,43 +139,28 @@ ]]> - -UitvoeringInfoLijst:APPS.Halux.PPS.dto.UitvoeringInfoLijst -1 -%ListOfObjects -ELEMENTTYPE="APPS.common.Print.Kolommen.Document" - - - 1 1 -Wortel:APPS.Halux.PPS.Document.impl.common.OnderdelenPicking.OnderdeelPickingBinaireKnoop +GesorteerdeOnderdeelPickingsVoor1Toelevering:APPS.Halux.PPS.Document.impl.common.OnderdelenPicking.OnderdeelPickingBinaireKnoop 1 -VorigeUI:APPS.Halux.PPS.Document.impl.common.OnderdelenPicking.OnderdeelPickingBinaireKnoop,HuidigeUI:APPS.Halux.PPS.Document.impl.common.OnderdelenPicking.OnderdeelPickingBinaireKnoop +DataVoorVorigeLijn:APPS.Halux.PPS.Document.impl.common.OnderdelenPicking.OnderdeelPickingBinaireKnoop,DataVoorLijn:APPS.Halux.PPS.Document.impl.common.OnderdelenPicking.OnderdeelPickingBinaireKnoop 1 %Boolean - -UI:APPS.Halux.PPS.Document.impl.common.OnderdelenPicking.OnderdeelPickingBinaireKnoop,VermeldOmschrijvingEnKorttekst:%Boolean +DataVoorLijn:APPS.Halux.PPS.Document.impl.common.OnderdelenPicking.OnderdeelPickingBinaireKnoop,VermeldOmschrijvingEnKorttekst:%Boolean 1 0 { #dim OPEenProduct As APPS.Halux.PPS.Activiteit.impl.common.dto.OnderdelenPickingUitvoeringInfo = OPVoorEenProductLijst.GetAt(1) Do ..InitDocumentIndienNodig(OPEenProduct) #dim EersteKolomBreedte As %Integer = ..Document.DocumentType.GeefKolomDefinitie(1).Breedte - #dim ProductOmschrijvingList As %ListOfDataTypes = ##class(TECH.StringUtils).WordWrap(UI.HFV.GeefOmschrijving(),EersteKolomBreedte) + Set GeWordWrapteProductOmschrijvingLijnen = ##class(TECH.ListIterator).%New(##class(TECH.StringUtils).WordWrap(DataVoorLijn.HFV.GeefOmschrijving(),EersteKolomBreedte)) - Set ProductOmschrijvingIt = ##class(TECH.ListIterator).%New(ProductOmschrijvingList) - Set OPEenProductIt = ##class(TECH.ListIterator).%New(OPVoorEenProductLijst) While OPEenProductIt.HasNext() { Do ..ProcessToegevoegdItem(OPEenProductIt.Next()) } } } - Set OPArrayAlleProductenIt = ##class(TECH.ListIterator).%New(UI.OnderdelenPickingen) - While OPArrayAlleProductenIt.HasNext() || ProductOmschrijvingIt.HasNext() { + // Verdeel de data voor dit halffab over lijnen: + Set OnderdelenPickingen = ##class(TECH.ListIterator).%New(DataVoorLijn.PickingsPerMaatwerkProductID) + While OnderdelenPickingen.HasNext() || GeWordWrapteProductOmschrijvingLijnen.HasNext() { #dim Lijn As %String = "" - If OPArrayAlleProductenIt.HasNext() { - Set OPVoorEenProductLijst = OPArrayAlleProductenIt.Next() + + // Zet een volgend aantal en eventueel lengte in bepaalde kolommen. + If OnderdelenPickingen.HasNext() { + Set OPVoorEenProductLijst = OnderdelenPickingen.Next() If OPVoorEenProductLijst.Count() > 0 { Set OPEenProduct = OPVoorEenProductLijst.GetAt(1) Set Lijn = "\\\\"_OPEenProduct.DossierCode_" "_OPVoorEenProductLijst.Count() - If ((UI.HFV.GeefLengte()'= "") || VermeldKorttekst) && EersteLijnProduct { - Set $Piece(Lijn,"\",3) = UI.HFV.GeefAantal() - Set $Piece(Lijn,"\",4) = UI.HFV.GeefLengte() + If ((DataVoorLijn.HFV.GeefLengte()'= "") || VermeldKorttekst) && EersteLijnProduct { + Set $Piece(Lijn,"\",3) = DataVoorLijn.HFV.GeefAantal() + Set $Piece(Lijn,"\",4) = DataVoorLijn.HFV.GeefLengte() Set EersteLijnProduct = 0 } - If VermeldKorttekst { - Set $Piece(Lijn,"\",2) = UI.HFV.GeefKorttekst() + If VermeldKorttekst { // Op de eerste lijn van het Halffab staat soms de korttekst. + Set $Piece(Lijn,"\",2) = DataVoorLijn.HFV.GeefKorttekst() Set VermeldKorttekst = 0 } Set VorigOPEenProduct = OPEenProduct } } - If ProductOmschrijvingIt.HasNext() { - #dim ProductOmschrijving As %String = ProductOmschrijvingIt.Next() + // Zet een volgend deel van de halffab-omschrijving in kolom 1. + If GeWordWrapteProductOmschrijvingLijnen.HasNext() { + #dim ProductOmschrijving As %String = GeWordWrapteProductOmschrijvingLijnen.Next() Set:VermeldOmschrijving $Piece(Lijn,"\",1) = ProductOmschrijving - Set:('ProductOmschrijvingIt.HasNext()) VermeldOmschrijving = 0 + Set:('GeWordWrapteProductOmschrijvingLijnen.HasNext()) VermeldOmschrijving = 0 } If (Lijn'="") { @@ -235,52 +249,52 @@ ]]> - + UitvoeringInfoLijst:APPS.Halux.PPS.dto.UitvoeringInfoLijst 1 TECH.Iterator - + 1 APPS.Halux.PPS.Activiteit.impl.common.OnderdelenPicking.HalffabItemNaarKnoopVisitor - - + UitvoeringInfo:APPS.Halux.PPS.Activiteit.impl.common.dto.OnderdelenPickingUitvoeringInfo 1 %ListOfObjects Index: APPS/Halux/PPS/Document/impl/common/OnderdelenPicking/OnderdeelPickingComparator.cls.xml =================================================================== diff -u -r29059 -r42815 --- APPS/Halux/PPS/Document/impl/common/OnderdelenPicking/OnderdeelPickingComparator.cls.xml (.../OnderdeelPickingComparator.cls.xml) (revision 29059) +++ APPS/Halux/PPS/Document/impl/common/OnderdelenPicking/OnderdeelPickingComparator.cls.xml (.../OnderdeelPickingComparator.cls.xml) (revision 42815) @@ -1,6 +1,8 @@ + +Deze klasse kent de volgorde van 2 OnderdeelPicking-items. %RegisteredObject,TECH.Comparator.IComparator @@ -41,6 +43,10 @@ + +LET OP: De criteria om de onderdelenpicking te groeperen en sorteren, staan ook in + IsGelijk op APPS.Halux.PPS.Document.impl.common.OnderdelenPicking.OnderdeelPickingBinaireKnoop ! + Dus daarmee in sync houden! 1 OP1:APPS.Halux.PPS.Document.impl.common.OnderdelenPicking.OnderdeelPickingBinaireKnoop,OP2:APPS.Halux.PPS.Document.impl.common.OnderdelenPicking.OnderdeelPickingBinaireKnoop %Boolean @@ -110,7 +116,7 @@ 1 -%String +%Boolean Index: APPS/Halux/PPS/Document/impl/common/OnderdelenPicking/OnderdeelPickingBinaireKnoop.cls.xml =================================================================== diff -u -r29059 -r42815 --- APPS/Halux/PPS/Document/impl/common/OnderdelenPicking/OnderdeelPickingBinaireKnoop.cls.xml (.../OnderdeelPickingBinaireKnoop.cls.xml) (revision 29059) +++ APPS/Halux/PPS/Document/impl/common/OnderdelenPicking/OnderdeelPickingBinaireKnoop.cls.xml (.../OnderdeelPickingBinaireKnoop.cls.xml) (revision 42815) @@ -1,17 +1,21 @@ + +OnderdeelPicking-objecten worden gesorteerd volgens bepaalde criteria, door ze in een Binaire Boom te zetten. TECH.Algo.Boom.BinaireKnoop,%RegisteredObject DOM.PM.Maatwerk.Calc.HF.IHalffabItem + += OnderdelenPickingDataVoorHalffabItemBepaler APPS.Halux.PPS.Activiteit.impl.common.OnderdelenPicking.HalffabItemNaarUitvoeringInfoVisitor - + APPS.Halux.PPS.Activiteit.impl.common.dto.OnderdelenPickingUitvoeringInfoLijst array @@ -31,7 +35,7 @@ Set ..OnderdeelPickingComparator = OnderdeelPickingComparator Set ..HFV = HalffabItemNaarknoopVisitor Do ..HalffabItem.Accept(..HFV) - Set ..OnderdelenPickingen = ##class(%ArrayOfObjects).%New() + Set ..PickingsPerMaatwerkProductID = ##class(%ArrayOfObjects).%New() Do ..VoegToeOnderdelenPicking(OnderdelenPicking) Quit $$$OK ]]> @@ -40,11 +44,11 @@ OnderdelenPicking:APPS.Halux.PPS.Activiteit.impl.common.dto.OnderdelenPickingUitvoeringInfo @@ -53,7 +57,7 @@ + +LET OP: De criteria om de onderdelenpicking te groeperen en sorteren, staan ook in + IsKleinerDan op APPS.Halux.PPS.Document.impl.common.OnderdelenPicking.OnderdeelPickingComparator ! + Dus daarmee in sync houden! Knoop:APPS.Halux.PPS.Document.impl.common.OnderdelenPicking.OnderdeelPickingBinaireKnoop 1 %Boolean Index: APPS/Halux/PPS/Activiteit/impl/common/OnderdelenPicking/HalffabItemNaarKnoopVisitor.cls.xml =================================================================== diff -u -r29059 -r42815 --- APPS/Halux/PPS/Activiteit/impl/common/OnderdelenPicking/HalffabItemNaarKnoopVisitor.cls.xml (.../HalffabItemNaarKnoopVisitor.cls.xml) (revision 29059) +++ APPS/Halux/PPS/Activiteit/impl/common/OnderdelenPicking/HalffabItemNaarKnoopVisitor.cls.xml (.../HalffabItemNaarKnoopVisitor.cls.xml) (revision 42815) @@ -1,6 +1,9 @@ + +Zet de te tonen HalfFabItems in een platte lijst, maar geeft hen fully qualified rolnamen. +En weet welke "inbegrepen" HalfFabItems uitzonderlijk toch getoond mogen worden. 1 DOM.PM.Maatwerk.Calc.HF.HalffabItemVisitor,TECH.RegisteredObject @@ -58,7 +61,6 @@ While (Iterator.HasNext()) { #dim HalffabItem As DOM.PM.Maatwerk.Calc.HF.IHalffabItem = Iterator.Next() - Do HalffabItem.ZetRol(Item.GeefRol()_"."_HalffabItem.GeefRol()) Do HalffabItem.Accept(##this) } Set ..Level = ..Level - 1 Index: APPS/Halux/PPS/Document/impl/LBX/OnderdelenPicking.cls.xml =================================================================== diff -u -r40118 -r42815 --- APPS/Halux/PPS/Document/impl/LBX/OnderdelenPicking.cls.xml (.../OnderdelenPicking.cls.xml) (revision 40118) +++ APPS/Halux/PPS/Document/impl/LBX/OnderdelenPicking.cls.xml (.../OnderdelenPicking.cls.xml) (revision 42815) @@ -12,7 +12,7 @@ Index: APPS/Halux/PPS/Activiteit/impl/common/OnderdelenPicking/HalffabItemNaarUitvoeringInfoVisitor.cls.xml =================================================================== diff -u -r29059 -r42815 --- APPS/Halux/PPS/Activiteit/impl/common/OnderdelenPicking/HalffabItemNaarUitvoeringInfoVisitor.cls.xml (.../HalffabItemNaarUitvoeringInfoVisitor.cls.xml) (revision 29059) +++ APPS/Halux/PPS/Activiteit/impl/common/OnderdelenPicking/HalffabItemNaarUitvoeringInfoVisitor.cls.xml (.../HalffabItemNaarUitvoeringInfoVisitor.cls.xml) (revision 42815) @@ -1,6 +1,8 @@ + +Filtert de niet te tonen halffabsitems, en vult UitvoeringInfo-achtige info in per type halffabitem. 1 DOM.PM.Maatwerk.Calc.HF.HalffabItemVisitor,TECH.RegisteredObject