Index: Flow/OrderWMS/PalletReservatie.cls.xml
===================================================================
diff -u -r1606 -r1617
--- Flow/OrderWMS/PalletReservatie.cls.xml (.../PalletReservatie.cls.xml) (revision 1606)
+++ Flow/OrderWMS/PalletReservatie.cls.xml (.../PalletReservatie.cls.xml) (revision 1617)
@@ -560,6 +560,13 @@
ORDER BY ConsolidatieNr
+
+%SQLQuery
+paConsolidatieNr:%String,paPalletID:%String,paProdNr:%String
+ SELECT ID FROM Flow_OrderWMS.PalletReservatie
+ WHERE (ConsolidatieNr = :paConsolidatieNr AND PalletID = :paPalletID AND Product = :paProdNr)
+
+
%SQLQuery
PalletID:%String
FishEye: Tag 1617 refers to a dead (removed) revision in file `APPS/MAG/UGLYPicking/dto/PalletReservatie.cls.xml'.
FishEye: No comparison available. Pass `N' to diff?
Index: vhUnitTest/APPS/MAG/UGLYPicking/TestUglyPickingService.cls.xml
===================================================================
diff -u -r1616 -r1617
--- vhUnitTest/APPS/MAG/UGLYPicking/TestUglyPickingService.cls.xml (.../TestUglyPickingService.cls.xml) (revision 1616)
+++ vhUnitTest/APPS/MAG/UGLYPicking/TestUglyPickingService.cls.xml (.../TestUglyPickingService.cls.xml) (revision 1617)
@@ -51,14 +51,8 @@
Do ..MaakProducten()
Do ..MaakPalletReservatie()
- set dtoPalletReservatie = ##class(APPS.MAG.UGLYPicking.dto.PalletReservatie).%New()
- set dtoPalletReservatie.BonNr = 999999
- set dtoPalletReservatie.Magazijn = "UNITTEST"
- set dtoPalletReservatie.PalletID = 1234
- set dtoPalletReservatie.ProductID = 1000
- set dtoPalletReservatie.Sectie = "UT-SECTIE"
- set dtoPallet = Service.GeefPalletInhoud(dtoPalletReservatie)
+ set dtoPallet = Service.GeefPalletInhoud(999999,1000,1234)
do $$$AssertEquals(dtoPallet.Inhouden.Size,2,"Aantal inhouden")
do $$$AssertEquals(dtoPallet.Inhouden.GetAt(1).VerpakkingOmschrijving,"Kx2","Controle omschrijving")
@@ -68,16 +62,8 @@
do $$$AssertEquals(dtoPallet.Inhouden.GetAt(2).AantalTePicken,1,"Controle aantal te picken")
do $$$AssertEquals(dtoPallet.Inhouden.GetAt(2).AantalResterend,1,"Controle aantal resterend")
+ set dtoPallet = Service.GeefPalletInhoud(999998,1001,1235)
- set dtoPalletReservatie = ##class(APPS.MAG.UGLYPicking.dto.PalletReservatie).%New()
- set dtoPalletReservatie.BonNr = 999998
- set dtoPalletReservatie.Magazijn = "UNITTEST"
- set dtoPalletReservatie.PalletID = 1235
- set dtoPalletReservatie.ProductID = 1001
- set dtoPalletReservatie.Sectie = "UT-SECTIE"
-
- set dtoPallet = Service.GeefPalletInhoud(dtoPalletReservatie)
-
do $$$AssertEquals(dtoPallet.Inhouden.Size,2,"Aantal inhouden")
do $$$AssertEquals(dtoPallet.Inhouden.GetAt(1).VerpakkingOmschrijving,"Gx10","Controle omschrijving")
do $$$AssertEquals(dtoPallet.Inhouden.GetAt(1).AantalTePicken,4,"Controle aantal te picken")
@@ -87,9 +73,13 @@
do $$$AssertEquals(dtoPallet.Inhouden.GetAt(2).AantalResterend,5,"Controle aantal resterend")
Do ..VerwijderPalletReservatie()
-
Do ..VerwijderProducten()
+ Set Service = ##class(APPS.MAG.UGLYPicking.impl.UglyPickingService).%New()
+ Do ..MaakBon(1234)
+ Set Bon = Service.GeefBon(1234)
+
+
Quit
]]>
@@ -176,6 +166,7 @@
do ##class(Flow.OrderWMS.PalletReservatie).%DeleteId(ID)
set ID = 999998 _"||" _"UNITTEST"_ "||" _ 1235 _ "||"_ 1001 _ "||" _ "UT-SECTIE"
do ##class(Flow.OrderWMS.PalletReservatie).%DeleteId(ID)
+ quit
]]>
Index: APPS/MAG/UGLYPicking/dto/PickingResultaat.cls.xml
===================================================================
diff -u
--- APPS/MAG/UGLYPicking/dto/PickingResultaat.cls.xml (revision 0)
+++ APPS/MAG/UGLYPicking/dto/PickingResultaat.cls.xml (revision 1617)
@@ -0,0 +1,21 @@
+
+
+
+1
+%RegisteredObject,%XML.Adaptor
+0
+
+
+%String
+list
+
+
+
+%Boolean
+
+
+
+%Boolean
+
+
+
Index: APPS/MAG/UglyPickingService.cls.xml
===================================================================
diff -u -r1608 -r1617
--- APPS/MAG/UglyPickingService.cls.xml (.../UglyPickingService.cls.xml) (revision 1608)
+++ APPS/MAG/UglyPickingService.cls.xml (.../UglyPickingService.cls.xml) (revision 1617)
@@ -46,11 +46,9 @@
-dtoPalletReservatie:APPS.MAG.UGLYPicking.dto.PalletReservatie
+BonNr:%String,ProductID:%String,PalletID:%String
APPS.MAG.UGLYPicking.dto.Pallet
-
@@ -88,8 +86,9 @@
Product:APPS.MAG.UGLYPicking.dto.GepickedProduct
-%Status
-
+APPS.MAG.UGLYPicking.dto.PickingResultaat
+
Index: APPS/MAG/UGLYPicking/impl/UglyPickingService.cls.xml
===================================================================
diff -u -r1615 -r1617
--- APPS/MAG/UGLYPicking/impl/UglyPickingService.cls.xml (.../UglyPickingService.cls.xml) (revision 1615)
+++ APPS/MAG/UGLYPicking/impl/UglyPickingService.cls.xml (.../UglyPickingService.cls.xml) (revision 1617)
@@ -168,15 +168,14 @@
-dtoPalletReservatie:APPS.MAG.UGLYPicking.dto.PalletReservatie
+BonNr:%String,ProductID:%String,PalletID:%String
APPS.MAG.UGLYPicking.dto.Pallet
+
+BonNr:%String,ProductID:%String,PalletID:%String
+1
+%String
+
+
+
-Omschrijving,AantalInVerpakking,AantalTePicken,AantalResterend
+Omschrijving:%String,AantalInVerpakking:%Integer,AantalTePicken:%Integer,AantalResterend:%Integer
1
APPS.MAG.UGLYPicking.dto.Inhoud
-Product:APPS.MAG.UGLYPicking.dto.GepickedProduct
-%Status
-
+GepickedProduct:APPS.MAG.UGLYPicking.dto.GepickedProduct
+APPS.MAG.UGLYPicking.dto.PickingResultaat
+
-1
-APPS.MAG.UGLYPicking.impl.Sessie
+ set InventoryID=PalletReservatie.Inventory.%Id()
+ set LocationsID=PalletReservatie.Locations.%Id()
+
+ if PalletReservatie.AantalTePicken'=AantalTePicken {
+ set PalletReservatie.AantalTePicken=AantalTePicken
+ do PalletReservatie.%Save()
+ set dtoPickingResultaat.CycleCountUitvoeren = 1 ;Cycle-count vereist: u hebt het # aangepast, dit heeft een c/c reden (bijv. beschadigd)
+ set dtoPickingResultaat.ReCalcReservation = 1 ;Het wijzigen vh aantal moet resulteren in een herberekening vd reservatie
+ }
+
+ if AantalTePicken>PalletReservatie.Inventory.QtyPcs {
+ do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.InvalidInputException).%New("Het te picken aantal ("_AantalTePicken_") is nu groter dan het aantal beschikbaar op de pallet ("_PalletResObj.Inventory.QtyPcs_")."))
+ }
+
+ ;Pallet volledig picken?
+ If PalletReservatie.Inventory.QtyPcs-AantalTePicken=0 {
+ ;Set:('..IgnoreCCWhenFullPick) dtoPickingResultaat.CycleCountUitvoeren=1 ;Indien Ignore-flag niet op 0->C/C triggeren
+ }
+
+ ;do PalletReservatie.%Close()
+ set PalletReservatie = ""
+
+ if GepickedProduct.Charges.Count > 0 {
+ ;$$$WriteToLog("*** RegisterORDWChargeTrace ***")
+ set itCharges = ##class(TECH.ListIterator).%New(GepickedProduct.Charges)
+ set errRegisterCharges = ""
+ while itCharges.HasNext() && '$length(errRegisterCharges) {
+ set ChargeInfo = itCharges.Next()
+ ;$$$WriteToLog("- ConsNr: "_..ConsNr_" - Magazijn: "_..Magazijn_" - ProdNr: "_..ProductNr_" - Qty: "_ChargeQty_" - ChargeID: "_ChargeID)
+ set errRegisterCharges = ##class(BL.ProdHist.ChargeTrace).RegisterORDWChargeTrace(GepickedProduct.BonNr,GepickedProduct.Magazijn,GepickProduct.ProductID,ChargeInfo.Aantal,ChargeInfo.ChargeID,.varlbAssocChargeAantal)
+ ;$$$WriteToLog(" ChargeTraceAantalIDs => "_$$LCVT^vhLib(varlbAssocChargeAantal))
+ }
+
+ if $length(errRegisterCharges) {
+ do dtoPickingResultaat.Waarschuwingen.Insert("Fout tijdens vastleggen ChargeIDs: "_errRegisterCharges_".")
+ }
+ else {
+ ;$$$WriteToLog("RegisterChargeTrace success")
+ }
+ }
+
+ set errCommitReservation=##class(Flow.OrderWMS.PalletReservatie).CommitReservation(PalletReservatieID)
+
+ if $length(errCommitReservation) {
+ do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.InvalidInputException).%New(errCommitReservation))
+ }
+
+ ;Mogelijk is AantalTePicken <> OrigAantal omdat met de mogelijkheid heeft het aantal te wijzigen
+ ;in deze form, om de reservatie dan correct weg te halen moet het originele aantal worden
+ ;opgegeven. Stel QtyOrig=30, dan is QtyOrigRes=30, u verandert het aantal in 10. U drukt op de
+ ;button 'klaar'. Deze zal een reservatie van slechts 10 weghalen indien u niet met CommitPicking
+ ;het reservatie-aantal opgeeft. Dan neemt deze gewoon de nieuwe Qty=10. Dwz dat er nog 20 gereserveerd
+ ;blijven, terwijl deze helemaal ter beschikking zijn van de gebruiker. Dus wij geven OrigAantal (=30)
+ ;mee aan CommitPicking:
+
+ set errCommitPicking=##class(EWMS.Inventory).CommitPicking(InventoryID,LocationsID,AantalTePicken,OrigAantal,GepickedProduct.BonNr)
+ if $length(errCommitPicking) {
+ do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.InvalidInputException).%New(errCommitPicking))
+ }
+
+ ; Afdrukken van etiket in dien nod
+ ;Do:(..AskForPrintPalletEtiket) ..PrintPalletEtiket(..ConsNr,1,..Magazijn)
+
+ quit dtoPickingResultaat
+]]>
Index: APPS/MAG/UGLYPicking/dto/Charges.cls.xml
===================================================================
diff -u
--- APPS/MAG/UGLYPicking/dto/Charges.cls.xml (revision 0)
+++ APPS/MAG/UGLYPicking/dto/Charges.cls.xml (revision 1617)
@@ -0,0 +1,16 @@
+
+
+
+1
+%RegisteredObject,%XML.Adaptor
+0
+
+
+%String
+
+
+
+%Integer
+
+
+
Index: APPS/MAG/UGLYPicking/dto/GepickedProduct.cls.xml
===================================================================
diff -u -r1576 -r1617
--- APPS/MAG/UGLYPicking/dto/GepickedProduct.cls.xml (.../GepickedProduct.cls.xml) (revision 1576)
+++ APPS/MAG/UGLYPicking/dto/GepickedProduct.cls.xml (.../GepickedProduct.cls.xml) (revision 1617)
@@ -3,15 +3,21 @@
1
%RegisteredObject,%XML.Adaptor
+0
%Integer
-
-%Integer
+
+APPS.MAG.UGLYPicking.dto.Charges
+list
+
+APPS.MAG.UGLYPicking.enu.Magazijn
+
+
%String
@@ -23,5 +29,9 @@
%String
+
+
+%Integer
+