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 +