Index: APPS/MAG/UGLYPicking/impl/UglyPickingService.cls.xml =================================================================== diff -u -r1650 -r1658 --- APPS/MAG/UGLYPicking/impl/UglyPickingService.cls.xml (.../UglyPickingService.cls.xml) (revision 1650) +++ APPS/MAG/UGLYPicking/impl/UglyPickingService.cls.xml (.../UglyPickingService.cls.xml) (revision 1658) @@ -334,6 +334,8 @@ } } + Set ProductLijnenPerPallet = ##class(%ArrayOfObjects).%New() + Set ResultSet = ##class(%ResultSet).%New("Flow.OrderWMS.PalletReservatie:GetReservaties") Do ResultSet.Execute(BonNr,Magazijn) @@ -343,8 +345,21 @@ Set ProductLijn.LocatieID = ResultSet.Data("LocTrans") Set ProductLijn.PalletID = ResultSet.Data("PalletID") Set ProductLijn.HeeftChargeNummer = ##class(BL.ProdHist.ChargeTrace).IsChargeProduct(ResultSet.Data("Product"),1) - Set ProductLijn.IsVollePallet = ResultSet.Data("IsFull") - Set ProductLijn.IsPalletVolledigTePicken = ResultSet.Data("NeedAll") + If (ResultSet.Data("NeedAll")) + { + If (ResultSet.Data("IsFull")) + { + Set ProductLijn.PickActie = ##class(APPS.MAG.UGLYPicking.enu.PickActie).ProductVolledigAlles() + } + Else + { + Set ProductLijn.PickActie = ##class(APPS.MAG.UGLYPicking.enu.PickActie).ProductRestAlles() + } + } + Else + { + Set ProductLijn.PickActie = ##class(APPS.MAG.UGLYPicking.enu.PickActie).DeelPicking() + } Set KennisIDLb=##class(BL.Derde.Kennis.Kennis).GetIDsToPopup(OrderHoofding.KlantGetObjectId(),.Error,$LB("MAG:PICK"),$LB(ResultSet.Data("Product")),,"UGLY Picking Product",ResultSet.Data("Product"),1,1,0) For i=1:1:$LL(KennisIDLb) @@ -354,8 +369,33 @@ } Do ProductLijnen.Lijst.Insert(ProductLijn) + + If ('ProductLijnenPerPallet.IsDefined(ProductLijn.PalletID)) + { + Do ProductLijnenPerPallet.SetAt(##class(%ListOfObjects).%New(),ProductLijn.PalletID) + } + Do ProductLijnenPerPallet.GetAt(ProductLijn.PalletID).Insert(ProductLijn) } + // Nog eens voor alle palletten controleren of de volledige pallet kan gepicked worden. + + Set ProductLijnPerPalletIterator = ##class(TECH.ListIterator).%New(ProductLijnenPerPallet) + While (ProductLijnPerPalletIterator.HasNext()) + { + Set ProductLijnenVoorPallet = ProductLijnPerPalletIterator.Next() + Set PalletID = ProductLijnPerPalletIterator.Key() + + If (##class(BL.MB.UGLYPicking.PalletPick).IsDeelPicking(BonNr,Magazijn,PalletID) = 0) // Expliciete check op nul nodig + { + Set ProductLijnIterator = ##class(TECH.ListIterator).%New(ProductLijnenVoorPallet) + While (ProductLijnIterator.HasNext()) + { + Set ProductLijn = ProductLijnIterator.Next() + Set ProductLijn.PickActie = ##class(APPS.MAG.UGLYPicking.enu.PickActie).PalletAlleProducten() + } + } + } + Quit ProductLijnen ]]> Index: APPS/MAG/UGLYPicking/dto/ProductLijn.cls.xml =================================================================== diff -u -r1645 -r1658 --- APPS/MAG/UGLYPicking/dto/ProductLijn.cls.xml (.../ProductLijn.cls.xml) (revision 1645) +++ APPS/MAG/UGLYPicking/dto/ProductLijn.cls.xml (.../ProductLijn.cls.xml) (revision 1658) @@ -43,14 +43,10 @@ list - -%Boolean + +APPS.MAG.UGLYPicking.enu.PickActie - -%Boolean - - %String Index: APPS/MAG/UGLYPicking/enu/PickActie.cls.xml =================================================================== diff -u --- APPS/MAG/UGLYPicking/enu/PickActie.cls.xml (revision 0) +++ APPS/MAG/UGLYPicking/enu/PickActie.cls.xml (revision 1658) @@ -0,0 +1,52 @@ + + + +datatype +1 +%String +0 + + +;ProductVolledigAlles;ProductRestAlles;PalletAlleProducten;DeelPicking + + + + +Van een bepaald product is de pallet nog volledig (er is nog nooit een picking op gebeurd). +Deze moeten allemaal gepicked worden zodat er van dit product geen restant meer is op de pallet. +1 +APPS.MAG.UGLYPicking.enu.PickActie + + + + + +Van dit product staat er nog een rest op de pallet (er is reeds een picking op gebeurd). +Deze moeten allemaal gepicked worden zodat er van dit product geen restant meer is op de pallet. +1 +APPS.MAG.UGLYPicking.enu.PickActie + + + + + +Dit product staat op een pallet die volledig kan gepicked worden (inclusief alle andere producten). +1 +APPS.MAG.UGLYPicking.enu.PickActie + + + + + +Er moet een deeltje van het product gepicked worden maar voor de rest is er geen specifieke +situatie te behandelen. +1 +APPS.MAG.UGLYPicking.enu.PickActie + + + +