Index: vhTest/Mock/AXimpl/Dynamics/SalesOrderIn/Converter/SalesOrderConverter.cls.xml =================================================================== diff -u -r55673 -r72639 --- vhTest/Mock/AXimpl/Dynamics/SalesOrderIn/Converter/SalesOrderConverter.cls.xml (.../SalesOrderConverter.cls.xml) (revision 55673) +++ vhTest/Mock/AXimpl/Dynamics/SalesOrderIn/Converter/SalesOrderConverter.cls.xml (.../SalesOrderConverter.cls.xml) (revision 72639) @@ -9,7 +9,7 @@ right -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 +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="" %Status Index: AXimpl/Dynamics/SalesOrderIn/Converter/SalesOrderConverter.cls.xml =================================================================== diff -u -r72255 -r72639 --- AXimpl/Dynamics/SalesOrderIn/Converter/SalesOrderConverter.cls.xml (.../SalesOrderConverter.cls.xml) (revision 72255) +++ AXimpl/Dynamics/SalesOrderIn/Converter/SalesOrderConverter.cls.xml (.../SalesOrderConverter.cls.xml) (revision 72639) @@ -113,8 +113,23 @@ 1 + +Prod.ProductRepository +1 + + + +DOM.PM.impl.ProductTypeAPIimpl +1 + + + +DOM.PM.Maatwerk.Calc.Common.VhConfigHelper +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 +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="" 1 1 %Status @@ -134,8 +149,11 @@ 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 ..VerkoopApi = $$$Inject(VerkoopApi, ##class(DOM.VKP.impl.VerkoopAPI).%New()) + Set ..VhConfigHelper = ##class(DOM.PM.Maatwerk.Calc.Common.VhConfigHelper).%New() Set ..Logger = ##class(vhLib.Logger).%New() @@ -509,14 +527,38 @@ DOM.VKP.PrijsOrderlijn 0) { + Set ProductData = ##class(DOM.PM.dto.ProductData).%New() + Set ProductData.PRNr = ReedsGekendeProductId + Set ProductData.DossierNummer = ConfiguratieData.DossierCode + Set MaatwerkProduct = BerekeningServiceProduct.MaakProductVanKenmerken(..VhConfigHelper.GeefIngegevenKenmerken(), ..KlantID, ProductData, ConfiguratieData.VhConfig) + Set ProductId = MaatwerkProduct.GeefID() + Do PrijsOrderLijn.ZetProductID(ProductId, $$$True) + } Else { + Set MaatwerkProduct = BerekeningServiceProduct.MaakProductVanKenmerken(..VhConfigHelper.GeefIngegevenKenmerken(), ..KlantID, , ConfiguratieData.VhConfig) + Set ProductId = MaatwerkProduct.GeefID() + Do PrijsOrderLijn.ZetProductID(ProductId, $$$False) + } + } ElseIf (IsEenMaatwerkLijn && IsAdminProductNummerMeegegeven) { Do PrijsOrderLijn.ZetProductID(..GeefAttributeValue(OrderLine.Attribute,"AdminProductNummer"), $$$True) } @@ -526,7 +568,7 @@ If ..IsProductLijn(OrderLine) { Set PrijsOrderLijn = ..VoegToeProductLijn(Order, OrderLine) } Else { - Set PrijsOrderLijn = ..VoegToeMaatwerkLijn(Order, OrderLine) + Set PrijsOrderLijn = ..VoegToeMaatwerkLijn(Order, OrderLine, ProductId) } Quit PrijsOrderLijn ]]> @@ -626,7 +668,7 @@ OrderLine:AXif.Dynamics.SalesOrderIn.MessageParts.AxdEntityOrderLine 1 %Boolean - @@ -662,11 +704,11 @@ -Order:DOM.VKP.Order,OrderLine:AXif.Dynamics.SalesOrderIn.MessageParts.AxdEntityOrderLine +Order:DOM.VKP.Order,OrderLine:AXif.Dynamics.SalesOrderIn.MessageParts.AxdEntityOrderLine,ProductId:%String="" 1 DOM.VKP.impl.DataM.DataMProductOrderlijn + + +DossierCode:%String,MaatwerkModel:%String +1 +%Integer + + + + +VhConfig:%String +1 +DOM.PM.Maatwerk.Calc.Common.VhConfig + + + + +JsonStream:%Stream,RootObjectClassname:%String +1 +TECH.RegisteredObject + + Index: vhTest/Fake/AXimpl/Dynamics/SalesOrderIn/Converter/SalesOrderConverter.cls.xml =================================================================== diff -u -r48187 -r72639 --- vhTest/Fake/AXimpl/Dynamics/SalesOrderIn/Converter/SalesOrderConverter.cls.xml (.../SalesOrderConverter.cls.xml) (revision 48187) +++ vhTest/Fake/AXimpl/Dynamics/SalesOrderIn/Converter/SalesOrderConverter.cls.xml (.../SalesOrderConverter.cls.xml) (revision 72639) @@ -12,6 +12,12 @@ + +DossierCode:%String,MaatwerkModel:%String + + + OrderLijn:DOM.VKP.ProductOrderlijn