Index: AXimpl/Dynamics/InventoryOut/EventHandler/ReceptieAfmelden.cls.xml =================================================================== diff -u -r47634 -r47635 --- AXimpl/Dynamics/InventoryOut/EventHandler/ReceptieAfmelden.cls.xml (.../ReceptieAfmelden.cls.xml) (revision 47634) +++ AXimpl/Dynamics/InventoryOut/EventHandler/ReceptieAfmelden.cls.xml (.../ReceptieAfmelden.cls.xml) (revision 47635) @@ -12,7 +12,16 @@ Set Generator = ##class(AXimpl.Generator).%New() If ProductToelevLijnVerwijderdEvent.Data.GeefLeverancierID() = ##class(DOM.AKP.enu.Leverancier).Halux() { - Set Request = ##class(AXimpl.Request).%New("Inventory/ReceptieAfmelden",ProductToelevLijnVerwijderdEvent.Data.GeefToeleveringID()_"_"_ProductToelevLijnVerwijderdEvent.Data.GeefToeleveringLijnCode()) + Set ReceptieAfmeldenInputDto = ##class(AXimpl.Dynamics.InventoryOut.Converter.dto.ReceptieAfmeldenInput).%New() + Set ReceptieAfmeldenInputDto.Aantal = ProductToelevLijnVerwijderdEvent.Data.GeefAantal() + Set ReceptieAfmeldenInputDto.AxConfigId = ProductToelevLijnVerwijderdEvent.Data.GeefAxConfigId() + Set ReceptieAfmeldenInputDto.AxInventTransId = ProductToelevLijnVerwijderdEvent.Data.GeefAxInventTransId() + Set ReceptieAfmeldenInputDto.AxMaatwerkGenerischItemId = ProductToelevLijnVerwijderdEvent.Data.GeefAxMaatwerkGenerischItemId() + Set ReceptieAfmeldenInputDto.ProductID = ProductToelevLijnVerwijderdEvent.Data.GeefProductID() + Set ReceptieAfmeldenInputDto.ReceptieTijdstip = ProductToelevLijnVerwijderdEvent.GeefReceptieTijdstip() + Set ReceptieAfmeldenInputDto.ToeleveringID = ProductToelevLijnVerwijderdEvent.GeefToeleveringID() + Set ReceptieAfmeldenInputDto.ToeleveringLijnCode = ProductToelevLijnVerwijderdEvent.GeefToeleveringLijnCode() + Set Request = ##class(AXimpl.Request).%New("Inventory/ReceptieAfmelden",ProductToelevLijnVerwijderdEvent.Data.GeefToeleveringID()_"_"_ProductToelevLijnVerwijderdEvent.Data.GeefToeleveringLijnCode(), ReceptieAfmeldenInputDto) } Else { Set Request = ##class(AXimpl.Request).%New("Inventory/Update",ProductToelevLijnVerwijderdEvent.Data.GeefProductID()) } Index: AXimpl/Dynamics/InventoryOut/Converter/ReceptieAfmeldenConverter.cls.xml =================================================================== diff -u -r47632 -r47635 --- AXimpl/Dynamics/InventoryOut/Converter/ReceptieAfmeldenConverter.cls.xml (.../ReceptieAfmeldenConverter.cls.xml) (revision 47632) +++ AXimpl/Dynamics/InventoryOut/Converter/ReceptieAfmeldenConverter.cls.xml (.../ReceptieAfmeldenConverter.cls.xml) (revision 47635) @@ -62,53 +62,43 @@ Set DoorTeGevenLijnen = ##class(%ListOfDataTypes).%New() Set DoorTeGevenIDsLijst = ##class(%ListOfDataTypes).%New() - #dim ToeleveringLijn As DOM.AKP.ToeleveringLijn = ..ToeleveringApi.GeefToeleveringLijn($Piece(Request.SubjectId,"_",1),$Piece(Request.SubjectId,"_",2)) + Set ProdRaf = ##class(AXif.Dynamics.Inventory.MessageParts.AxdEntityProdRAF).%New() + Set ProdRaf.class = "entity" + Set ProdRaf.ProdId = $Extract(Request.Message.ToeleveringID_"_"_Request.Message.ToeleveringLijnCode_"_"_$Translate(Request.Message.ReceptieTijdstip,",-: ",""),1,20) + Set ProdRaf.Qty = Request.Message.Aantal + Set ProdRaf.InventTransId = Request.Message.AxInventTransId - If ..DataMOrderApi.BestaatOrder(ToeleveringLijn.GeefOrderID()) { - #dim Order As DOM.VKP.Order = ..DataMOrderApi.GeefOrder(ToeleveringLijn.GeefOrderID()) - - #dim OrderLijn As DOM.VKP.ProductOrderlijn = Order.GeefOrderLijn(ToeleveringLijn.GeefOrderLijnID()) - If OrderLijn.GeefType()=##class(DOM.VKP.enu.OrderLijnType).Product(){ - Set ProdRaf = ##class(AXif.Dynamics.Inventory.MessageParts.AxdEntityProdRAF).%New() - Set ProdRaf.class = "entity" - Set ProdRaf.ProdId = $Extract(OrderLijn.GeefID()_"_"_OrderLijn.GeefID()_"_"_$Translate(OrderLijn.GeefReceptieTijdstip(),",-: ",""),1,20) - Set ProdRaf.Qty = OrderLijn.GeefAantal() - Set ProdRaf.InventTransId = OrderLijn.GeefAxInventTransId() - - Set AXids = ##class(AXimpl.Dynamics.InventoryOut.Converter.dto.AXids).%New() - Set AXids.AxConfigId = OrderLijn.GeefAxConfigId() - Set AXids.AxInventTransId = OrderLijn.GeefAxInventTransId() - Set AXids.AxMaatwerkGenerischItemId = OrderLijn.GeefAxMaatwerkGenerischItemId() - Set AXids.ProductId = OrderLijn.GeefProductID() - Do DoorTeGevenIDsLijst.Insert(AXids) - - Do ..AxdEntityHeader.ProdRAF.Insert(ProdRaf) - - Set ..BouwsteenIterator = ..BouwsteenIteratorFactory.Maak(OrderLijn.GeefProductID()) - - While ..BouwsteenIterator.HasNext(){ - #dim Bouwsteen As AXimpl.Admin.DOM.PM.Bouwsteen = ..BouwsteenIterator.Next() - Set AXids = ##class(AXimpl.Dynamics.InventoryOut.Converter.dto.AXids).%New() - Set AXids.ProductId = Bouwsteen.ProductId - Do DoorTeGevenLijnen.Insert(Bouwsteen.ProductId) - } - } - - Try { - #dim InventSyncItems As AXif.Dynamics.Inventory.MessageParts = ..InventoryOutConverter.Convert(##class(AXimpl.Request).%New("Inventory/Update",##class(TECH.ListUtils).ListToPieces(DoorTeGevenLijnen,","),DoorTeGevenIDsLijst)) - - Set Iterator = ##class(TECH.ListIterator).%New(InventSyncItems.MessagePart.Header.GetAt(1).InventSync) - While Iterator.HasNext() { - Do ..AxdEntityHeader.InventSync.Insert(Iterator.Next()) - } - } Catch { - #dim Exception As TECH.Exceptions.Exception = ##class(TECH.ExceptionHandler).Catch() - } - } Else { - Do ##class(TECH.ExceptionHandler).Throw(##class(AXimpl.NoConversionNeededException).%New(##this.%ClassName(),Request.SubjectId)) + Set AXids = ##class(AXimpl.Dynamics.InventoryOut.Converter.dto.AXids).%New() + Set AXids.AxConfigId = Request.Message.AxConfigId + Set AXids.AxInventTransId = Request.Message.AxInventTransId + Set AXids.AxMaatwerkGenerischItemId = Request.Message.AxMaatwerkGenerischItemId + Set AXids.ProductId = Request.Message.ProductID + Do DoorTeGevenIDsLijst.Insert(AXids) + + Do ..AxdEntityHeader.ProdRAF.Insert(ProdRaf) + + Set ..BouwsteenIterator = ..BouwsteenIteratorFactory.Maak(Request.Message.ProductID) + + While ..BouwsteenIterator.HasNext(){ + #dim Bouwsteen As AXimpl.Admin.DOM.PM.Bouwsteen = ..BouwsteenIterator.Next() + Set AXids = ##class(AXimpl.Dynamics.InventoryOut.Converter.dto.AXids).%New() + Set AXids.ProductId = Bouwsteen.ProductId + Do DoorTeGevenLijnen.Insert(Bouwsteen.ProductId) } + Try { + #dim InventSyncItems As AXif.Dynamics.Inventory.MessageParts = ..InventoryOutConverter.Convert(##class(AXimpl.Request).%New("Inventory/Update",##class(TECH.ListUtils).ListToPieces(DoorTeGevenLijnen,","),DoorTeGevenIDsLijst)) + + Set Iterator = ##class(TECH.ListIterator).%New(InventSyncItems.MessagePart.Header.GetAt(1).InventSync) + While Iterator.HasNext() { + Do ..AxdEntityHeader.InventSync.Insert(Iterator.Next()) + } + } Catch { + #dim Exception As TECH.Exceptions.Exception = ##class(TECH.ExceptionHandler).Catch() + } + + Set ADUMsgOutboundInQuery = ##class(AXif.Dynamics.Inventory.MessageParts.AxdADUMsgOutboundInQuery).%New() Set MessageParts.MessagePart = ADUMsgOutboundInQuery Index: vhUnitTest/AXimpl/Dynamics/InventoryOut/Converter/ReceptieAfmeldenConverter/Convert/Test.cls.xml =================================================================== diff -u -r47632 -r47635 --- vhUnitTest/AXimpl/Dynamics/InventoryOut/Converter/ReceptieAfmeldenConverter/Convert/Test.cls.xml (.../Test.cls.xml) (revision 47632) +++ vhUnitTest/AXimpl/Dynamics/InventoryOut/Converter/ReceptieAfmeldenConverter/Convert/Test.cls.xml (.../Test.cls.xml) (revision 47635) @@ -43,8 +43,13 @@ Do ##super() Set ..UitleveringId = "0_1234" + Set ReceptieAfmeldenInputDto = ##class(AXimpl.Dynamics.InventoryOut.Converter.dto.ReceptieAfmeldenInput).%New() + Set ReceptieAfmeldenInputDto.ProductID = 1000 + Set ReceptieAfmeldenInputDto.ToeleveringID = "100" + Set ReceptieAfmeldenInputDto.ToeleveringLijnCode = "100" + Set ReceptieAfmeldenInputDto.ReceptieTijdstip = "201106300915" Set ..GUID = "{7E53DAF1-A44A-49C7-B0D2-4534E9158C9A}" - Set ..Request = ##class(AXimpl.Request).%New("Inventory/ReceptieAfgemeld", ..UitleveringId) + Set ..Request = ##class(AXimpl.Request).%New("Inventory/ReceptieAfgemeld", ..UitleveringId, ReceptieAfmeldenInputDto) Set ..RequestInventoryOut = ##class(AXimpl.Request).%New("Inventory/Update", "1000") ]]>