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