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