Index: TECH/Exceptions/LockedException.cls.xml =================================================================== diff -u --- TECH/Exceptions/LockedException.cls.xml (revision 0) +++ TECH/Exceptions/LockedException.cls.xml (revision 1759) @@ -0,0 +1,14 @@ + + + +1 +TECH.Exceptions.AbstractOmschrijvingException +0 + + +TECH.enu.ExceptionCode + + + + Index: WS/MAG/UGLYPicking/UGLYPickingService.cls.xml =================================================================== diff -u -r1748 -r1759 --- WS/MAG/UGLYPicking/UGLYPickingService.cls.xml (.../UGLYPickingService.cls.xml) (revision 1748) +++ WS/MAG/UGLYPicking/UGLYPickingService.cls.xml (.../UGLYPickingService.cls.xml) (revision 1759) @@ -29,14 +29,28 @@ ]]> - + +DeviceNaam:%String +1 + + + + MagazijnID:APPS.MAG.UGLYPicking.enu.Magazijn APPS.MAG.UGLYPicking.dto.Bon 1 - + +APPS.MAG.UGLYPicking.dto.Sessies +1 + + + BonNr:%Integer,MagazijnID:APPS.MAG.UGLYPicking.enu.Magazijn APPS.MAG.UGLYPicking.dto.ProductLijnen Index: APPS/MAG/UGLYPicking/dto/Sessies.cls.xml =================================================================== diff -u --- APPS/MAG/UGLYPicking/dto/Sessies.cls.xml (revision 0) +++ APPS/MAG/UGLYPicking/dto/Sessies.cls.xml (revision 1759) @@ -0,0 +1,17 @@ + + + +serial +1 +%ListOfObjects +0 + + +APPS.MAG.UGLYPicking.dto.Sessie + + + +%Library.CompleteCustomStorage + + + Index: APPS/MAG/UGLYPicking/dto/Sessie.cls.xml =================================================================== diff -u -r1576 -r1759 --- APPS/MAG/UGLYPicking/dto/Sessie.cls.xml (.../Sessie.cls.xml) (revision 1576) +++ APPS/MAG/UGLYPicking/dto/Sessie.cls.xml (.../Sessie.cls.xml) (revision 1759) @@ -3,17 +3,18 @@ 1 %RegisteredObject,%XML.Adaptor +0 - -%TimeStamp - - %String %TimeStamp + + +%Integer + Index: CSC Ugly Picking.prj.xml =================================================================== diff -u -r1748 -r1759 --- CSC Ugly Picking.prj.xml (.../CSC Ugly Picking.prj.xml) (revision 1748) +++ CSC Ugly Picking.prj.xml (.../CSC Ugly Picking.prj.xml) (revision 1759) @@ -1,6 +1,6 @@ - + @@ -17,6 +17,7 @@ + @@ -55,6 +56,7 @@ + Index: APPS/MAG/UGLYPicking/impl/UglyPickingService.cls.xml =================================================================== diff -u -r1748 -r1759 --- APPS/MAG/UGLYPicking/impl/UglyPickingService.cls.xml (.../UglyPickingService.cls.xml) (revision 1748) +++ APPS/MAG/UGLYPicking/impl/UglyPickingService.cls.xml (.../UglyPickingService.cls.xml) (revision 1759) @@ -69,19 +69,57 @@ ]]> - + +DeviceNaam:%String + + + + MagazijnID:APPS.MAG.UGLYPicking.enu.Magazijn APPS.MAG.UGLYPicking.dto.Bon 0) + Set BonIterator = ##class(TECH.ListIterator).%New(Bonnen.Lijst) + While (('$IsObject(VolgendeBon)) && BonIterator.HasNext()) { - Set Bon = Bonnen.Lijst.GetAt(1) + Set Bon = BonIterator.Next() + If (Bon.Status '= ##class(APPS.MAG.UGLYPicking.enu.BonStatus).InGebruik()) + { + Set $ZTRAP = "Locked" + Do ..StartBon(Bon.BonNr) + Set VolgendeBon = Bon + Set $ZTRAP = "" + Goto Finally +Locked + Set $ZTRAP = "" + Set LockedException = ##class(TECH.ExceptionHandler).Catch("TECH.Exceptions.LockedException") +Finally + } } - Quit Bon + If ('$IsObject(VolgendeBon)) + { + Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.GeneralErrorException).%New("Er is geen volgende vrije bon voor magazijn "_##class(APPS.MAG.UGLYPicking.enu.Magazijn).LogicalToDisplay(MagazijnID))) + } + + Quit VolgendeBon ]]> @@ -96,7 +134,7 @@ { Set BonNr = Iterator.Next() Set Bon = ..GeefBonBasis(BonNr) - If ((..IsBonInGebruik(BonNr) || ($$IsLocked^vhLib("^UGLYOrderPick("_BonNr_")"))) && (..GeefSessie().GeefGebruiktBon() '= BonNr)) + If ((..IsBonInGebruik(BonNr) || ($$IsLocked^vhLib("^UGLYOrderPick("_BonNr_")"))) && (..GeefSessie().GeefGebruiktBonNr() '= BonNr)) { Set Bon.Status = ##class(APPS.MAG.UGLYPicking.enu.BonStatus).InGebruik() } @@ -216,8 +254,24 @@ -APPS.MAG.UGLYPicking.impl.Sessie - +APPS.MAG.UGLYPicking.dto.Sessies + @@ -484,6 +538,12 @@ } Set Sessie = ..GeefSessie() + + If (..IsBonInGebruik(BonNr) && (Sessie.GeefGebruiktBonNr() '= BonNr)) + { + Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.LockedException).%New("Bon met nummer "_BonNr_" kan niet gestart worden omdat deze reeds in gebruik is.")) + } + Do Sessie.ZetGebruiktBonNr(BonNr) Set Status = Sessie.%Save() Index: APPS/MAG/UglyPickingService.cls.xml =================================================================== diff -u -r1748 -r1759 --- APPS/MAG/UglyPickingService.cls.xml (.../UglyPickingService.cls.xml) (revision 1748) +++ APPS/MAG/UglyPickingService.cls.xml (.../UglyPickingService.cls.xml) (revision 1759) @@ -27,10 +27,16 @@ ]]> - + +DeviceNaam:%String + + + + MagazijnID:APPS.MAG.UGLYPicking.enu.Magazijn APPS.MAG.UGLYPicking.dto.Bon - @@ -48,8 +54,9 @@ -APPS.MAG.UGLYPicking.impl.Sessie - +APPS.MAG.UGLYPicking.dto.Sessies + Index: vhUnitTest/APPS/MAG/UGLYPicking/TestUglyPickingService.cls.xml =================================================================== diff -u -r1748 -r1759 --- vhUnitTest/APPS/MAG/UGLYPicking/TestUglyPickingService.cls.xml (.../TestUglyPickingService.cls.xml) (revision 1748) +++ vhUnitTest/APPS/MAG/UGLYPicking/TestUglyPickingService.cls.xml (.../TestUglyPickingService.cls.xml) (revision 1759) @@ -69,6 +69,38 @@ ]]> + + + + + + + + + +0,"Er zijn sessies") + Do $$$AssertEquals(Sessies.GetAt(1).DeviceNaam,"UnitTestDevice","De devicenaam is correct ingesteld") + Do $$$AssertEquals(Sessies.GetAt(1).GebruiktBonNr,1234,"De gebruikte bonnr is correct ingesteld") + + Do Service.StopHuidigeBon() + Do ..VerwijderBon(1234) +]]> + + ID:%Integer %Status