Business Logic voor order selectie serial UglyPickingCNTs Default BL.Lib.EQBaseObj 0 BL.MB.UGLYPicking.OrderSel 1 cache 0 %Library.Status document literal ROW DEF QUERY OpenstaandePerMag: KlantNaam,KlantNr,ConsolidatieNr,AantalLijnen,Tijd,Magazijn Do ##class(BL.MB.UGLYPicking.OrderSelOptimizedSorter).HersorteerMbSortedMagList() ; ByRef %mbSortedMagList : deze wordt niet als param doorgegeven, want is een globale variabele. Do tmpRS.%Close() $$$WriteToLog("FBuildSortedMagList success.") Quit $$$OK ]]> 1 ConsNr:%Library.String cache 0 document literal Testing "_SubObj.%Id()_" StatusWMS: "_SubObj.StatusWMS_", VerwSoftware: "_SubObj.VerwerkingSoftware) .. Quit:(SubObj.StatusWMS'="W") .. Quit:(SubObj.VerwerkingSoftware="W") .. ;Do WL^vhDBG("-> Accepted: '"_SubObj.VerwerkingSoftware_"'") .. ;Vroeger werd nu het magazijn gecontroleerd, dit zit nu in VerwerkingSoftWare .. ;Set Magazijn=##class(BL.MB.UGLYPicking.General).FGetMagPerProduct(SubObj.Product) .. Set Magazijn=##class(BL.MB.UGLYPicking.General).ControleVerwerkingSoftware(SubObj.VerwerkingSoftware) ;NewSchool line .. ;Do WL^vhDBG("-> Magazijn: "_Magazijn) .. Quit:(Magazijn="") //SLUIT INDIEN GEEN=('AUTO',...) MAGAZIJN .. ; Maken dat juist alfabetisch gesorteerd wordt met Horologs (seconden links aanvullen tot 5 pos) JoW, ICT-609 .. Set SortDate = $Piece(DueOutTime,",",1) .. Set SortTime = $Extract("00000"_$Piece(DueOutTime,",",2),$Length("00000"_$Piece(DueOutTime,",",2))-4,$Length("00000"_$Piece(DueOutTime,",",2))) .. .. If (Magazijn = "HALUX") Do ... Set SortedMagKey = SortDate _ KlantNaam _ SortTime_Magazijn _ ConsNr ; Sinds 09/01/2023 maatwerk sortering op klantnaam (maar nog wel eerst op datum) --> dit geeft een probleem voor de dringende pickings waaronder "AFH" ... Do ##class(BL.MB.UGLYPicking.OrderSelOptimizedSorter).VoegToeHersorteringData(SortDate, SortTime, Magazijn, ConsNr, KlantNr, KlantNaam, SortedMagKey) ; ByRef %mbSortedMagList : deze wordt niet als param doorgegeven, want is een globale variabele. .. Else Do ... Set SortedMagKey = SortDate_SortTime_Magazijn _ ConsNr .. .. If $D(%mbSortedMagList(SortedMagKey)) Do ... Set $LI(%mbSortedMagList(SortedMagKey),4)=$LI(%mbSortedMagList(SortedMagKey),4)+1 //AantalLijnen voor Mag+1 .. Else Do ... Set %mbSortedMagList(SortedMagKey)=$LB(KlantNaam,KlantNr,ConsNr,1,DueOutTimeSmall,DueOutTime,BeginPicking,Magazijn,HoofdingObj.VerzendWijze) Do HoofdingObj.%Close() Quit ]]> 1 handle:%Library.Binary cache 0 %Library.Status document literal 1 cache 0 %Library.Status document literal 1 cache 0 %Library.Status document literal 1 handle:%Library.Binary cache 0 %Library.Status document literal 1 cache 0 %Library.Status document literal 1 cache 0 %Library.Status document literal 1 handle:%Library.Binary cache 0 %Library.Status document literal 1 cache 0 %Library.Status document literal 1 cache 0 %Library.Status document literal %Library.Query %Library.Query ConsNr:%String %Library.Query %Library.CacheSerialState