Index: AXimpl/Dynamics/SalesOrderIn/Converter/SalesOrderConverter.cls.xml
===================================================================
diff -u -r72876 -r75031
--- AXimpl/Dynamics/SalesOrderIn/Converter/SalesOrderConverter.cls.xml (.../SalesOrderConverter.cls.xml) (revision 72876)
+++ AXimpl/Dynamics/SalesOrderIn/Converter/SalesOrderConverter.cls.xml (.../SalesOrderConverter.cls.xml) (revision 75031)
@@ -113,11 +113,6 @@
1
-
-Prod.ProductRepository
-1
-
-
DOM.PM.impl.ProductTypeAPIimpl
1
@@ -148,8 +143,13 @@
1
+
+AXimpl.Dynamics.SalesOrderIn.Converter.SalesOrderConverter.ToeleveringLockControleerder
+1
+
+
-OrderAPI:DOM.VKP.OrderAPI,OrderLevenCyclusService:APPS.VKP.OrderLevenCyclusService,DateTimeAPI:TECH.DateTime.DateTimeAPI="",ProductBepaler:AXimpl.Admin.Common.ProductBepaler,DocumentReferentiesRepository:DOM.VKP.DocumentReferentiesRepository,OrderlijnenSorteerder:AXimpl.Dynamics.SalesOrderIn.Converter.OrderlijnenSorteerder,OrderSluiter:CHUI.VKP.OrderIngave.BevestigdAXOrderSluiterv01,ToeleveringService:AXimpl.Dynamics.SalesOrderIn.Converter.ToeleveringService,OrderIngaveService:APPS.VKP.OrderIngaveService,OfferteRepository:APPS.VKP.Offerte.OfferteRepository,SalesOrderLineStatusRepository:AXdata.Dynamics.SalesLineStatus.SalesOrderLineStatusRepository,VerkoopApi:DOM.VKP.VerkoopAPI,Mailer:AXimpl.Dynamics.SalesOrderIn.Converter.Mailer,LeverAdresMaker:AXimpl.Dynamics.SalesOrderIn.Converter.SalesOrderConverter.LeverAdresMaker,LandRepository:DOM.common.Locatie.impl.LandRepository,ProductRepository:Prod.ProductRepository="",ProductTypeAPI:DOM.PM.impl.ProductTypeAPIimpl="",DataMProductRepository:DOM.PM.impl.DataM.DataMProductRepository="",ProductService:WSimpl.AX.CalculatedProduct.ProductService="",BerekeningServiceProduct:APPS.PM.Maatwerk.impl.BerekeningServiceProduct=""
+OrderAPI:DOM.VKP.OrderAPI,OrderLevenCyclusService:APPS.VKP.OrderLevenCyclusService,DateTimeAPI:TECH.DateTime.DateTimeAPI="",ProductBepaler:AXimpl.Admin.Common.ProductBepaler,DocumentReferentiesRepository:DOM.VKP.DocumentReferentiesRepository,OrderlijnenSorteerder:AXimpl.Dynamics.SalesOrderIn.Converter.OrderlijnenSorteerder,OrderSluiter:CHUI.VKP.OrderIngave.BevestigdAXOrderSluiterv01,ToeleveringService:AXimpl.Dynamics.SalesOrderIn.Converter.ToeleveringService,OrderIngaveService:APPS.VKP.OrderIngaveService,OfferteRepository:APPS.VKP.Offerte.OfferteRepository,SalesOrderLineStatusRepository:AXdata.Dynamics.SalesLineStatus.SalesOrderLineStatusRepository,VerkoopApi:DOM.VKP.VerkoopAPI,Mailer:AXimpl.Dynamics.SalesOrderIn.Converter.Mailer,LeverAdresMaker:AXimpl.Dynamics.SalesOrderIn.Converter.SalesOrderConverter.LeverAdresMaker,LandRepository:DOM.common.Locatie.impl.LandRepository,ProductRepository:Prod.ProductRepository="",ProductTypeAPI:DOM.PM.impl.ProductTypeAPIimpl="",DataMProductRepository:DOM.PM.impl.DataM.DataMProductRepository="",ProductService:WSimpl.AX.CalculatedProduct.ProductService="",BerekeningServiceProduct:APPS.PM.Maatwerk.impl.BerekeningServiceProduct="",VhConfigRepository:APPS.PM.Maatwerk.impl.VhConfigRepository=""
1
1
%Status
@@ -169,15 +169,15 @@
Set ..Mailer = $$$Inject(Mailer,##class(AXimpl.Dynamics.SalesOrderIn.Converter.Mailer).%New())
Set ..LeverAdresMaker = $$$Inject(LeverAdresMaker,##class(AXimpl.Dynamics.SalesOrderIn.Converter.SalesOrderConverter.LeverAdresMaker).%New())
Set ..LandRepository = $$$Inject(LandRepository,##class(DOM.common.Locatie.impl.LandRepository).%New())
- Set ..ProductRepository = $$$Inject(ProductRepository,##class(Prod.ProductRepository).%New())
Set ..ProductTypeAPI = $$$Inject(ProductTypeAPI,##class(DOM.DomeinContext).Instance().GeefProductTypeAPI())
Set ..DataMProductRepository = $$$Inject(DataMProductRepository, ##class(DOM.PM.impl.DataM.DataMProductRepository).%New())
Set ..ProductService = $$$Inject(ProductService, ##class(WSimpl.AX.CalculatedProduct.ProductService).%New())
Set ..BerekeningServiceProduct = $$$Inject(BerekeningServiceProduct, ##class(APPS.PM.Maatwerk.impl.BerekeningServiceProduct).%New())
Set ..VerkoopApi = $$$Inject(VerkoopApi, ##class(DOM.VKP.impl.VerkoopAPI).%New())
Set ..VhConfigHelper = ##class(APPS.PM.Maatwerk.impl.VhConfigHelper).%New()
- Set ..VhConfigRepository = ##class(APPS.PM.Maatwerk.impl.VhConfigRepository).%New()
+ Set ..VhConfigRepository = $$$Inject(VhConfigRepository, ##class(APPS.PM.Maatwerk.impl.VhConfigRepository).%New())
+ Set ..ToeleveringLockControleerder = ##class(AXimpl.Dynamics.SalesOrderIn.Converter.SalesOrderConverter.ToeleveringLockControleerder).%New()
Set ..Logger = ##class(vhLib.Logger).%New()
@@ -234,14 +234,11 @@
If ..VerkoopApi.BestaatKlant(..KlantID) {
Set ..KLNr = $Piece(..KlantID,"||",2)
- Do ..LockOrder()
-
- #Dim Order As DOM.VKP.Order = ..GeefOfMaakOrder(..KlantID, OrderHeader)
+ Do ..LockOrderEnControleerToeleveringen()
- If ($IsObject(Order)) {
-
- Do ..ZetOrderHoofding(Order, OrderHeader)
-
+ #Dim Order As DOM.VKP.Order = ..GeefOfMaakOrder(..KlantID, OrderHeader)
+ If ($IsObject(Order)) {
+ Do ..ZetOrderHoofding(Order, OrderHeader)
Do ..ZetDocumentReferentie(Order, OrderHeader)
Set OrderLineIterator = ##class(TECH.ListIterator).%New(OrderHeader.OrderLine)
@@ -268,7 +265,7 @@
Do ..VerwijderOrderLijn(Order, OrderLine)
Do ..LogLijn(OrderHeader.SalesId, OrderLine, "Verwijder OrderLijn")
Continue
- }
+ }
// hier sowieso een orderlijn die geupdated mag worden, zonder toelev en juiste status.
// -> verwijder orderlijnen met zelfde inventtransid.
@@ -279,15 +276,12 @@
Do ..UpdateOrderLijn(..GeefOfMaakOrderLijn(Order, OrderLine), OrderLine, Order)
}
-
+
Do ..BewaarOrder(Order)
-
Do ..VerwijderOrderIndienGeenOrderLijnen(.Order)
-
Do ..OrderlijnenSorteerder.SorteerGepersisteerdeOrderLijnen(Order)
Do:..IsNieuwOrder(Order) ##class(DOM.VKP.event.OrderEventRaiser).RaiseOrderGemaaktEvent(..OrderID)
-
Do ..SluitOrder(Order)
Do ..Mailer.VerzendMeldingGeblokkeerdeOrderLijnen(Order,OrderHeader.ModifiedByAlias)
@@ -304,6 +298,24 @@
]]>
+
+1
+
+
+
1
-
+
1
%String
0) {
Do ..VerwijderOrderLijn(Order, OrderLine)
@@ -610,12 +629,15 @@
Set ProductData.PRNr = ReedsGekendeProductId
Do ..NeemLockOpProduct(ReedsGekendeProductId)
Do ..VerwijderProduct(ReedsGekendeProductId)
+ Set IsProductIdHergebruikt = $$$True
}
}
#dim MaatwerkProduct As DOM.PM.MaatwerkProduct = ..BerekeningServiceProduct.MaakProductVanKenmerken(..VhConfigHelper.GeefIngegevenKenmerken(), ..KlantID, 1, ProductData, VhConfig)
- If (ReedsGekendeProductId > 0) {
+ Do ..VhConfigRepository.SaveVhConfig(CID, VhConfig, OrderLine.ProductHash, $$$False, OrderLine.InventTransId, MaatwerkProduct.GeefID())
+
+ If ((ReedsGekendeProductId > 0) && IsProductIdHergebruikt) {
Do ..Logger.Warning("SalesOrderIn - ProductCreatie", "Product '"_ReedsGekendeProductId_"' opnieuw gemaakt in Cache! DossierNummer = '"_OrderLine.DossierCode_"'")
Do ..UnlockProduct(ReedsGekendeProductId)
}
@@ -953,29 +975,6 @@
]]>
-
-DossierCode:%String,MaatwerkModel:%String
-1
-%Integer
-
-
-
VhConfig:%String
1