Index: vhUnitTest/BL/Legacy/TRANSP/Test.cls.xml =================================================================== diff -u -r51718 -r55305 --- vhUnitTest/BL/Legacy/TRANSP/Test.cls.xml (.../Test.cls.xml) (revision 51718) +++ vhUnitTest/BL/Legacy/TRANSP/Test.cls.xml (.../Test.cls.xml) (revision 55305) @@ -37,7 +37,7 @@ ]]> - + + + + + @@ -137,8 +189,10 @@ Set OrderVerwijzingLijnMock1 = ##class(vhTest.Mock.DOM.VKP.OrderVerwijzingOrderlijn).%New() Do OrderVerwijzingLijnMock1.VerwachtMethodCall("GeefSalesIdAX").DanReturn("SalesId1") + Do OrderVerwijzingLijnMock1.VerwachtMethodCall("GeefOrderID").DanReturn("OrderId1") Set OrderVerwijzingLijnMock2 = ##class(vhTest.Mock.DOM.VKP.OrderVerwijzingOrderlijn).%New() Do OrderVerwijzingLijnMock2.VerwachtMethodCall("GeefSalesIdAX").DanReturn("SalesId2") + Do OrderVerwijzingLijnMock2.VerwachtMethodCall("GeefOrderID").DanReturn("OrderId2") #dim OrderVerwijzingLijnIterator as TECH.Iterator = ##class(TECH.ListUtils).CreateIteratorOfObjects(OrderVerwijzingLijnMock1,OrderVerwijzingLijnMock2) Do BonMock.VerwachtMethodCall("GeefTypeBonLijnIterator",##class(DOM.VKP.enu.BonLijnType).OrderVerwijzing()).DanReturn(OrderVerwijzingLijnIterator) @@ -148,17 +202,21 @@ Do InvoiceAmountServiceMock.IndienMethodCall("GeefFactuurBedragen","SalesId1").DanException(WSException) #dim Return2 as AXif.Dynamics.InvoiceAmountOut.tns.VHInvoiceAmountOutputDC = ..GeefVHInvoiceAmountOutputDC(12.1,2.1,1) Do InvoiceAmountServiceMock.VerwachtMethodCall("GeefFactuurBedragen","SalesId2").DanReturn(Return2) + + Set OrderOpBonBepalerMock = ##class(vhTest.Mock.BL.Legacy.TRANSP.OrderOpBonBepaler).%New() + Do OrderOpBonBepalerMock.VerwachtMethodCall("HeeftOrderlijnenOpTransport","OrderId1").DanReturn($$$False) + Do OrderOpBonBepalerMock.VerwachtMethodCall("HeeftOrderlijnenOpTransport","OrderId2").DanReturn($$$False) + Set TRANSP = ##class(BL.Legacy.TRANSP).%New(OrderAPIMock,InvoiceAmountServiceMock,,OrderOpBonBepalerMock) - Set TRANSP = ##class(BL.Legacy.TRANSP).%New(OrderAPIMock,InvoiceAmountServiceMock) - Do $$$AssertEquals(TRANSP.GeefRemboursBedragVoorBon("BONNR"),11.1) Do OrderAPIMock.Verifieer() Do BonMock.Verifieer() Do OrderVerwijzingLijnMock1.Verifieer() Do OrderVerwijzingLijnMock2.Verifieer() Do InvoiceAmountServiceMock.Verifieer() + Do OrderOpBonBepalerMock.Verifieer() ]]> @@ -172,8 +230,10 @@ Set OrderVerwijzingLijnMock1 = ##class(vhTest.Mock.DOM.VKP.OrderVerwijzingOrderlijn).%New() Do OrderVerwijzingLijnMock1.VerwachtMethodCall("GeefSalesIdAX").DanReturn("SalesId1") + Do OrderVerwijzingLijnMock1.VerwachtMethodCall("GeefOrderID").DanReturn("OrderId1") Set OrderVerwijzingLijnMock2 = ##class(vhTest.Mock.DOM.VKP.OrderVerwijzingOrderlijn).%New() Do OrderVerwijzingLijnMock2.VerwachtMethodCall("GeefSalesIdAX").DanReturn("SalesId2") + Do OrderVerwijzingLijnMock2.VerwachtMethodCall("GeefOrderID").DanReturn("OrderId2") #dim OrderVerwijzingLijnIterator as TECH.Iterator = ##class(TECH.ListUtils).CreateIteratorOfObjects(OrderVerwijzingLijnMock1,OrderVerwijzingLijnMock2) Do BonMock.VerwachtMethodCall("GeefTypeBonLijnIterator",##class(DOM.VKP.enu.BonLijnType).OrderVerwijzing()).DanReturn(OrderVerwijzingLijnIterator) @@ -183,15 +243,19 @@ Do InvoiceAmountServiceMock.IndienMethodCall("GeefFactuurBedragen","SalesId1").DanException(WSException) Do InvoiceAmountServiceMock.IndienMethodCall("GeefFactuurBedragen","SalesId2").DanException(WSException) + Set OrderOpBonBepalerMock = ##class(vhTest.Mock.BL.Legacy.TRANSP.OrderOpBonBepaler).%New() + Do OrderOpBonBepalerMock.VerwachtMethodCall("HeeftOrderlijnenOpTransport","OrderId1").DanReturn($$$False) + Do OrderOpBonBepalerMock.VerwachtMethodCall("HeeftOrderlijnenOpTransport","OrderId2").DanReturn($$$False) + + Set TRANSP = ##class(BL.Legacy.TRANSP).%New(OrderAPIMock,InvoiceAmountServiceMock,,OrderOpBonBepalerMock) - Set TRANSP = ##class(BL.Legacy.TRANSP).%New(OrderAPIMock,InvoiceAmountServiceMock) - Do $$$AssertEquals(TRANSP.GeefRemboursBedragVoorBon("BONNR"),0) Do OrderAPIMock.Verifieer() Do BonMock.Verifieer() Do OrderVerwijzingLijnMock1.Verifieer() Do OrderVerwijzingLijnMock2.Verifieer() + Do OrderOpBonBepalerMock.Verifieer() ]]> Index: BL/Legacy/TRANSP.cls.xml =================================================================== diff -u -r51718 -r55305 --- BL/Legacy/TRANSP.cls.xml (.../TRANSP.cls.xml) (revision 51718) +++ BL/Legacy/TRANSP.cls.xml (.../TRANSP.cls.xml) (revision 55305) @@ -18,8 +18,13 @@ 1 + +BL.Legacy.TRANSP.OrderOpBonBepaler +1 + + -OrderAPI:DOM.VKP.OrderAPI,InvoiceAmountService:AXimpl.Dynamics.InvoiceAmountOut.InvoiceAmountService,Logger:vhLib.Logger +OrderAPI:DOM.VKP.OrderAPI,InvoiceAmountService:AXimpl.Dynamics.InvoiceAmountOut.InvoiceAmountService,Logger:vhLib.Logger,OrderOpBonBepaler:BL.Legacy.TRANSP.OrderOpBonBepaler 1 1 %Status @@ -28,6 +33,7 @@ Set ..OrderAPI = $$$Inject(OrderAPI,##class(DOM.DomeinContext).Instance().GeefOrderAPI()) Set ..InvoiceAmountService = $$$Inject(InvoiceAmountService,##class(AXimpl.Dynamics.InvoiceAmountOut.InvoiceAmountService).%New()) Set ..Logger = $$$Inject(Logger,##class(vhLib.Logger).%New()) + Set ..OrderOpBonBepaler = $$$Inject(OrderOpBonBepaler, ##class(BL.Legacy.TRANSP.OrderOpBonBepaler).%New()) Quit $$$OK ]]> @@ -46,9 +52,11 @@ While BonLijnIterator.HasNext(){ #dim BonLijn as DOM.VKP.impl.DataM.DataMOrderVerwijzingOrderlijn = BonLijnIterator.Next() try { - set FactuurBedrag = ..GeefFactuurBedragMetKortingContantVerrekend(..InvoiceAmountService.GeefFactuurBedragen(BonLijn.GeefSalesIdAX())) - Set RemboursBedrag = RemboursBedrag + FactuurBedrag - Do ..Logger.Info("GeefRemboursBedragVoorBon","Bedrag inclusief korting contant voor factuur van verkoop '"_ FactuurBedrag _"' van bon '"_ BONNr _"' :" _ FactuurBedrag) + If $$$Not(..RemboursbedragStaatReedsOpBon(BonLijn.GeefOrderID())) { + set FactuurBedrag = ..GeefFactuurBedragMetKortingContantVerrekend(..InvoiceAmountService.GeefFactuurBedragen(BonLijn.GeefSalesIdAX())) + Set RemboursBedrag = RemboursBedrag + FactuurBedrag + Do ..Logger.Info("GeefRemboursBedragVoorBon","Bedrag inclusief korting contant voor factuur van verkoop '"_ FactuurBedrag _"' van bon '"_ BONNr _"' :" _ FactuurBedrag) + } } catch { #dim WebServiceException As TECH.Exceptions.Exception = ##class(TECH.ExceptionHandler).Catch() Do ..Logger.Error("GeefRemboursBedragVoorBon","Fout bij oproepen van AX webservice InvoiceAmountService voor SalesIdAX '"_BonLijn.GeefSalesIdAX()_"' van bon '"_BONNr_"'. Order bedrag niet meegeteld. OV verwittigen",1) @@ -75,6 +83,13 @@ + + +OrderID:%String +%Boolean + +