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
+
+
+
+