Index: vhUnitTest/WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService/Test.cls.xml
===================================================================
diff -u -r58341 -r58474
--- vhUnitTest/WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService/Test.cls.xml (.../Test.cls.xml) (revision 58341)
+++ vhUnitTest/WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService/Test.cls.xml (.../Test.cls.xml) (revision 58474)
@@ -15,7 +15,7 @@
%Integer
-12345
+100000
@@ -43,40 +43,61 @@
1
-
-AXdata.Dynamics.SalesLineStatus.SalesOrderLineStatusRepository
-1
-
-
aTestName:%String
+
+
+
+
1
WSimpl.AX.CalculatedProduct.ProductVolgensAxAttribuutBepaler.OrderService
-
+AantalOrderLijnenMetRelevanteAxInventTransId:%Integer
1
DOM.VKP.Order
+
+
+AantalGevondenOrderLijnen:%Integer
+1
+TECH.Iterator
+
+
Index: vhTest/Mock/WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService.cls.xml
===================================================================
diff -u -r58406 -r58474
--- vhTest/Mock/WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService.cls.xml (.../OrderService.cls.xml) (revision 58406)
+++ vhTest/Mock/WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService.cls.xml (.../OrderService.cls.xml) (revision 58474)
@@ -9,7 +9,7 @@
right
-OrderApi:DOM.VKP.OrderAPI="",Logger:vhLib.Logger="",ToeleveringService:WSimpl.AX.CalculatedProduct.ProductVolgensAxAttribuutBepaler.OrderService.ToeleveringService="",SalesOrderLineStatusRepository:AXdata.Dynamics.SalesLineStatus.SalesOrderLineStatusRepository=""
+OrderApi:DOM.VKP.OrderAPI="",Logger:vhLib.Logger="",ToeleveringService:WSimpl.AX.CalculatedProduct.ProductVolgensAxAttribuutBepaler.OrderService.ToeleveringService=""
%Status
Index: vhTest/Fake/WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService/ToeleveringService.cls.xml
===================================================================
diff -u -r58444 -r58474
--- vhTest/Fake/WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService/ToeleveringService.cls.xml (.../ToeleveringService.cls.xml) (revision 58444)
+++ vhTest/Fake/WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService/ToeleveringService.cls.xml (.../ToeleveringService.cls.xml) (revision 58474)
@@ -7,9 +7,10 @@
1
WSimpl.AX.CalculatedProduct.ProductVolgensAxAttribuutBepaler.OrderService.ToeleveringService
-
+
ToeleveringId:%String,OudProductId:%String,NieuwProductId:%String
-%Boolean
+
Index: vhTest/Mock/WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService/ToeleveringService.cls.xml
===================================================================
diff -u -r58458 -r58474
--- vhTest/Mock/WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService/ToeleveringService.cls.xml (.../ToeleveringService.cls.xml) (revision 58458)
+++ vhTest/Mock/WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService/ToeleveringService.cls.xml (.../ToeleveringService.cls.xml) (revision 58474)
@@ -15,9 +15,10 @@
]]>
-
+
ToeleveringId:%String,OudProductId:%String,NieuwProductId:%String
-%Boolean
+
Index: WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService.cls.xml
===================================================================
diff -u -r58444 -r58474
--- WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService.cls.xml (.../OrderService.cls.xml) (revision 58444)
+++ WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService.cls.xml (.../OrderService.cls.xml) (revision 58474)
@@ -18,13 +18,8 @@
1
-
-AXdata.Dynamics.SalesLineStatus.SalesOrderLineStatusRepository
-1
-
-
-OrderApi:DOM.VKP.OrderAPI="",Logger:vhLib.Logger="",ToeleveringService:WSimpl.AX.CalculatedProduct.ProductVolgensAxAttribuutBepaler.OrderService.ToeleveringService="",SalesOrderLineStatusRepository:AXdata.Dynamics.SalesLineStatus.SalesOrderLineStatusRepository=""
+OrderApi:DOM.VKP.OrderAPI="",Logger:vhLib.Logger="",ToeleveringService:WSimpl.AX.CalculatedProduct.ProductVolgensAxAttribuutBepaler.OrderService.ToeleveringService=""
1
1
%Status
@@ -33,7 +28,6 @@
Set ..OrderApi = $$$Inject(OrderApi, ##class(DOM.VKP.impl.DataM.DataMOrderAPI).%New())
Set ..Logger = $$$Inject(Logger, ##class(vhLib.Logger).%New("CalculatedProduct"))
Set ..ToeleveringService = $$$Inject(ToeleveringService, ##class(WSimpl.AX.CalculatedProduct.ProductVolgensAxAttribuutBepaler.OrderService.ToeleveringService).%New())
- Set ..SalesOrderLineStatusRepository = $$$Inject(SalesOrderLineStatusRepository, ##class(AXdata.Dynamics.SalesLineStatus.SalesOrderLineStatusRepository).%New())
Quit $$$OK
]]>
@@ -49,14 +43,7 @@
Try {
Do ..LockOrder(KlantNr, OrderId)
- If (..IsVrijVoorUpdate(AxInventTransId)) {
- // Nog niets klaargezet of geproduceerd voor die AX-OrderLijn => Order/Toeleveringen aanpassen. Niemand verwittigen.
- Do ..PasAanOrderLijnenEnToeleveringen(Order, AxInventTransId, OudProductId, NieuwProductId)
- } Else {
- // Indien reeds KLAARGEZET MAAR NOG NIET IN BATCH => Order/Toeleveringen aanpassen => Halux hiervan verwittigen!
- // Indien reeds KLAARGEZET EN AL WEL IN BATCH MAAR NOG NIET GESTART => Order/Toeleveringen NIET aanpassen => Halux hiervan verwittigen!
- // Indien reeds KLAARGEZET EN AL WEL IN BATCH EN IS AL GESTART => Order/Toeleveringen NIET aanpassen (=> BIDI waarschuwen???)
- }
+ Do ..PasAanOrderLijnenEnToeleveringen(Order, AxInventTransId, OudProductId, NieuwProductId)
Do ..UnLockOrder(KlantNr, OrderId)
} Catch {
@@ -77,27 +64,24 @@
#dim OrderLijnenIteratorVolgensAxInventTransId As TECH.Iterator = ..GeefOrderLijnIteratorVolgensAxInventTransId(Order, AxInventTransId)
#dim OrderLijn As DOM.VKP.Orderlijn
#dim ToeleveringId As %String
- #dim IsOrderLijnAanTePassen As %Boolean
+ #dim MagOrderLijnAangepastWorden As %Boolean
+ #dim IsOrderLijnAanTePassen As %Boolean = $$$False
While OrderLijnenIteratorVolgensAxInventTransId.HasNext() {
Set OrderLijn = OrderLijnenIteratorVolgensAxInventTransId.Next()
- Set IsOrderLijnAanTePassen = ((OrderLijn.%IsA(##class(DOM.VKP.enu.OrderLijnType).Product())) && (OrderLijn.GeefProductID() = OudProductId))
- If IsOrderLijnAanTePassen {
+ Set MagOrderLijnAangepastWorden = ((OrderLijn.%IsA("DOM.VKP.ProductOrderlijn")) && (OrderLijn.GeefProductID() = OudProductId))
+ If MagOrderLijnAangepastWorden {
Set ToeleveringId = OrderLijn.GeefToeleveringID()
- Do ..ToeleveringService.VerwerkToelevering(ToeleveringId, OudProductId, NieuwProductId)
+ Set IsOrderLijnAanTePassen = ..ToeleveringService.IsToeleveringAangepast(ToeleveringId, OudProductId, NieuwProductId)
+ If IsOrderLijnAanTePassen {
+ // OrderLijn aanpassen + Order saven
+ Do ..Logger.Info("ProductUpdater", "Op Order '"_Order.GeefID()_"' werd op OrderLijn '"_OrderLijn.GeefID()_"' de ProductId aangepast van '"_OudProductId_"' naar '"_NieuwProductId_"'.")
+ }
}
}
]]>
-
-AxInventTransId:%String
-1
-%Boolean
-
-
-
Order:DOM.VKP.Order,AxInventTransId:%String
1
Index: WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService/ToeleveringService.cls.xml
===================================================================
diff -u -r58458 -r58474
--- WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService/ToeleveringService.cls.xml (.../ToeleveringService.cls.xml) (revision 58458)
+++ WSimpl/AX/CalculatedProduct/ProductVolgensAxAttribuutBepaler/OrderService/ToeleveringService.cls.xml (.../ToeleveringService.cls.xml) (revision 58474)
@@ -39,9 +39,12 @@
]]>
-
+
ToeleveringId:%String,OudProductId:%String,NieuwProductId:%String
+%Boolean
Order/Toeleveringen aanpassen => Niemand verwittigen!
+ Do ..PasAanProductIdOpToeleveringLijnen(Toelevering, OudProductId, NieuwProductId)
+ Set IsToeleveringAangepast = $$$True
} ElseIf ($$$Not(..ZitToeleveringInBatch(ToeleveringId))) {
// Indien reeds KLAARGEZET MAAR NOG NIET IN BATCH => Order/Toeleveringen aanpassen => Halux hiervan verwittigen!
+ Do ..PasAanProductIdOpToeleveringLijnen(Toelevering, OudProductId, NieuwProductId)
+ Set IsToeleveringAangepast = $$$True
+ // MAILEN !!!
} Else {
// Indien reeds KLAARGEZET EN AL WEL IN BATCH (al dan niet gestart) => Order/Toeleveringen NIET aanpassen => Halux hiervan verwittigen!
+ // MAILEN !!!
}
Do ..UnLockToelevering(ToeleveringId)
} Catch {
@@ -64,6 +73,8 @@
} Else {
Do ..Logger.Warning("ProductUpdater", "In de ToeleveringService werd gezocht naar Toelevering '"_ToeleveringId_"' met het oog op het aanpassen van ProductId '"_OudProductId_"' naar '"_NieuwProductId_"' op de Lijnen ervan, maar er werd geen verwijzing naar de Toelevering gevonden in ^KTO1 volgens de ToeleveringApi")
}
+
+ Quit IsToeleveringAangepast
]]>