Index: vhUnitTest/DOM/LEV/TestToelevering.cls.xml =================================================================== diff -u -r2239 -r3701 --- vhUnitTest/DOM/LEV/TestToelevering.cls.xml (.../TestToelevering.cls.xml) (revision 2239) +++ vhUnitTest/DOM/LEV/TestToelevering.cls.xml (.../TestToelevering.cls.xml) (revision 3701) @@ -116,9 +116,8 @@ Index: DOM/LEV/ToeleveringAPI.cls.xml =================================================================== diff -u -r1075 -r3701 --- DOM/LEV/ToeleveringAPI.cls.xml (.../ToeleveringAPI.cls.xml) (revision 1075) +++ DOM/LEV/ToeleveringAPI.cls.xml (.../ToeleveringAPI.cls.xml) (revision 3701) @@ -1,27 +1,27 @@ + +Opmerking JBL +Indien in de toekost een leverancier gewijzigd, gecreeerd, gedelete wordt via de ToeleveringAPI +Moet gezorgd worden dat de wijziging-event wordt geraised zodat de xml-lijst up to date blijft +voor vhintra opvragen van leveranciers 1 1 0 - - - - 1 ToeleveringNummer:%Integer DOM.LEV.Toelevering + +1 +ToeleveringNummer:%Integer +%Boolean + + 1 LeverancierNummer:%Integer Index: APPS/VisiDot/impl/EndAfhandelaar.cls.xml =================================================================== diff -u -r3523 -r3701 --- APPS/VisiDot/impl/EndAfhandelaar.cls.xml (.../EndAfhandelaar.cls.xml) (revision 3523) +++ APPS/VisiDot/impl/EndAfhandelaar.cls.xml (.../EndAfhandelaar.cls.xml) (revision 3701) @@ -103,14 +103,15 @@ Set ToeleveringID = QueueElement.TOENr /// Als toelevering nog niet gerecepteerd is : - Set Toelevering = ##class(DOM.DomeinContext).Instance().GeefToeleveringAPI().GeefToelevering(ToeleveringID) - Do ##class(vhLib.Logger).%New("VisiDot").Info("Recepteer Producten",BatchID_ $C(9)_" : Toelevering "_ToeleveringID_" is opgehaald.") - If ('$IsObject(Toelevering)){ + Do ##class(vhLib.Logger).%New("VisiDot").Info("Recepteer Producten",BatchID_ $C(9)_" : Toelevering "_ToeleveringID_" is opgehaald.") + Set ToeleveringAPI = ##class(DOM.DomeinContext).Instance().GeefToeleveringAPI() + If ('ToeleveringAPI.BestaatToelevering(ToeleveringID)){ Set IsToeleveringReedsGerecepteerd = 1 Set Bericht = "De toelevering '"_ToeleveringID_"' is reeds gerecepteerd."_$C(13,10) Set Bericht = Bericht_"Bij de recepetie via VisiDot met BatchID : '"_BatchID_"'"_$C(13,10) Do ##class(vhLib.Logger).%New("VisiDot").ErrorMail("Toelevering "_ToeleveringID_" reeds gerecepteerd",Bericht) }Else{ + Set Toelevering = ToeleveringAPI.GeefToelevering(ToeleveringID) Set Dossier = QueueElement.DOSNr Do ##class(vhLib.Logger).%New("VisiDot").Info("Recepteer Producten",BatchID_ $C(9)_" : Product met DossierCode '"_Dossier_"' voor Toelevering '"_ToeleveringID_"' wordt gerecepteerd.") Set FrameID = ProductionHelper.GeefPalletIDVanVHossID(QueueHelper.GeefFrameID()) Index: vhConsistency/Checks/InvoerUitvoerLinken.cls.xml =================================================================== diff -u -r3526 -r3701 --- vhConsistency/Checks/InvoerUitvoerLinken.cls.xml (.../InvoerUitvoerLinken.cls.xml) (revision 3526) +++ vhConsistency/Checks/InvoerUitvoerLinken.cls.xml (.../InvoerUitvoerLinken.cls.xml) (revision 3701) @@ -73,9 +73,20 @@ While (ResultSet.Next()) { Set VerwachteInvoer = VerwachteInvoerAPI.GeefVerwachteInvoer(ResultSet.Data("ID")) - Set Toelevering = ToeleveringAPI.GeefToelevering(VerwachteInvoer.GeefTransactieReferentie()) - If (('$IsObject(Toelevering)) || ('$IsObject(Toelevering.GeefToeleveringLijnViaCode(VerwachteInvoer.GeefTransactieLijnReferentie())))) + Set TeAnnuleren = 0 + + If ('ToeleveringAPI.BestaatToelevering(VerwachteInvoer.GeefTransactieReferentie())) { + Set TeAnnuleren = 1 + } + Else + { + Set Toelevering = ToeleveringAPI.GeefToelevering(VerwachteInvoer.GeefTransactieReferentie()) + Set TeAnnuleren = '$IsObject(Toelevering.GeefToeleveringLijnViaCode(VerwachteInvoer.GeefTransactieLijnReferentie())) + } + + If (TeAnnuleren) + { Do VerwachteInvoerAPI.AnnuleerVerwachteInvoer(VerwachteInvoer.%Id()) Do ..VoegMeldingToe("Verwachte invoer verwijderd (Toelevering, LijnCode): "_VerwachteInvoer.GeefTransactieReferentie()_", "_VerwachteInvoer.GeefTransactieLijnReferentie()) } @@ -226,23 +237,23 @@ Set OrderLijnCode = VerwachteUitvoerReservatie.GeefVerwachteUitvoer().GeefTransactieLijnReferentie() Set ToeNr = VerwachteInvoer.GeefTransactieReferentie() Set ToeLijnNr = VerwachteInvoer.GeefTransactieLijnReferentie() - Set Toelevering = ToeleveringAPI.GeefToelevering(VerwachteInvoer.GeefTransactieReferentie()) - If ('OrderAPI.BestaatOrder(OrderNr)) && ('$IsObject(Toelevering)) + If ('OrderAPI.BestaatOrder(OrderNr)) && ('ToeleveringAPI.BestaatToelevering(ToeNr)) { Do ..VoegMeldingToe("Invoer-uitvoer-link "_InvoerUitvoerLink.%Id()_" verwijst naar order "_OrderNr_" en toelevering "_ToeNr_" die beiden niet bestaan (niet auto oplosbaar)") } ElseIf ('OrderAPI.BestaatOrder(OrderNr)) { Do ..VoegMeldingToe("Invoer-uitvoer-link "_InvoerUitvoerLink.%Id()_" verwijst naar order "_OrderNr_" die niet bestaat (niet auto oplosbaar)") } - ElseIf ('$IsObject(Toelevering)) + ElseIf ('ToeleveringAPI.BestaatToelevering(ToeNr)) { Do ..VoegMeldingToe("Invoer-uitvoer-link "_InvoerUitvoerLink.%Id()_" verwijst naar toelevering "_ToeNr_" die niet bestaat (niet auto oplosbaar)") } Else { Set Order = OrderAPI.GeefOrder(OrderNr) Set OrderLijn = Order.GeefOrderLijnViaCode(OrderLijnCode) + Set Toelevering = ToeleveringAPI.GeefToelevering(ToeNr) Set ToeleveringLijn = Toelevering.GeefToeleveringLijnViaCode(ToeLijnNr) If ('$IsObject(OrderLijn)) && ('$IsObject(ToeleveringLijn)) { Index: APPS/Halux/Planning/PlanningService.cls.xml =================================================================== diff -u -r3463 -r3701 --- APPS/Halux/Planning/PlanningService.cls.xml (.../PlanningService.cls.xml) (revision 3463) +++ APPS/Halux/Planning/PlanningService.cls.xml (.../PlanningService.cls.xml) (revision 3701) @@ -24,10 +24,10 @@ } Set ToeleveringAPI = ##class(DOM.DomeinContext).Instance().GeefToeleveringAPI() - Set Toelevering = ToeleveringAPI.GeefToelevering(ToeleveringNummer) - If $IsObject(Toelevering) + If (ToeleveringAPI.BestaatToelevering(ToeleveringNummer)) { + Set Toelevering = ToeleveringAPI.GeefToelevering(ToeleveringNummer) Set ProductToeleveringLijnIterator = Toelevering.GeefTypeToeleveringLijnIterator(##class(DOM.LEV.enu.ToeleveringLijnType).Product()) While (ProductToeleveringLijnIterator.HasNext()) @@ -81,9 +81,9 @@ While (ToeleveringNummersIterator.HasNext()) { Set ToeleveringNummer = ToeleveringNummersIterator.Next() - Set Toelevering = ToeleveringAPI.GeefToelevering(ToeleveringNummer) - If ($IsObject(Toelevering)) + If (ToeleveringAPI.BestaatToelevering(ToeleveringNummer)) { + Set Toelevering = ToeleveringAPI.GeefToelevering(ToeleveringNummer) Do Toeleveringen.Insert(Toelevering) Set Batch = BatchService.GeefBijhorendeBatch(Toelevering) If ($IsObject(Batch)) @@ -316,12 +316,7 @@ If ($IsObject(ToeleveringInfo)) { Set Toelevering = ##class(DOM.DomeinContext).Instance().GeefToeleveringAPI().GeefToelevering(ToeleveringNummer) - - If ('$IsObject(Toelevering)) - { - Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.InvalidInputException).%New("Toelevering "_ToeleveringNummer_" bestaat niet")) - } - + Set ProductAPI = ##class(DOM.DomeinContext).Instance().GeefProductAPI() Set DataService = ##class(APPS.common.DataService).%New() @@ -332,11 +327,6 @@ Set ToeleveringLijnNr = ResultSet.Data("ToeleveringLijnNr") Set ToeleveringLijn = Toelevering.GeefToeleveringLijn(ToeleveringLijnNr) - If ('$IsObject(Toelevering)) - { - Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.InvalidInputException).%New("Toelevering "_ToeleveringNummer_" heeft geen lijn met nummer "_ToeleveringLijnNr)) - } - Set UniekLijnNummer = ToeleveringLijn.GeefUniekLijnNr() Set FabKey=ToeleveringNummer_";"_UniekLijnNummer Set BSKey = $O(^HADPR("F",FabKey,"AR","")) @@ -438,11 +428,6 @@ Set ToeleveringNummer = ToeleveringNummersIterator.Next() Set Toelevering = ToeleveringAPI.GeefToelevering(ToeleveringNummer) - If ('$IsObject(Toelevering)) - { - Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.InvalidInputException).%New("Toelevering "_ToeleveringNummer_" bestaat niet")) - } - Set VerzendWijze = "" Set Order = Toelevering.GeefOrder() If ($IsObject(Order)) @@ -545,16 +530,18 @@ While (Iterator.HasNext()) { Set ToeleveringNummer = Iterator.Next() - Set Toelevering = ToeleveringAPI.GeefToelevering(ToeleveringNummer) - If ('$IsObject(Toelevering)) + If (ToeleveringAPI.BestaatToelevering(ToeleveringNummer)) { + Do Toeleveringen.Insert(ToeleveringAPI.GeefToelevering(ToeleveringNummer)) + } + Else + { Set MaakBatchError = ##class(APPS.Halux.Planning.dto.MaakBatchError).%New() Set MaakBatchError.ToeleveringNummer = ToeleveringNummer Do MaakBatchError.Boodschappen.Insert("De toelevering is niet aanwezig in het systeem") Do Resultaat.Errors.Insert(MaakBatchError) Set Resultaat.IsGeslaagd = 0 } - Do Toeleveringen.Insert(Toelevering) } If (Resultaat.IsGeslaagd) @@ -601,12 +588,11 @@ Set Resultaat = ##class(APPS.Halux.Planning.dto.SplitsToeleveringResultaat).%New() Set ToeleveringAPI = ##class(DOM.DomeinContext).Instance().GeefToeleveringAPI() - Set Toelevering = ToeleveringAPI.GeefToelevering(ToeleveringNummer) - If $IsObject(Toelevering) + If (ToeleveringAPI.BestaatToelevering(ToeleveringNummer)) { + Set Toelevering = ToeleveringAPI.GeefToelevering(ToeleveringNummer) TSTART - Set SplitsEvaluatieResultaat = ..EvalueerSplitsToelevering(ToeleveringNummer, AantalToeleveringen, DrempelAantalProducten) Do SplitsEvaluatieResultaat.XMLExportToString(.xml,"","literal,indent") Set UniekeLijnNummers = ##class(%ListOfDataTypes).%New() @@ -871,9 +857,10 @@ { If ('##class(TECH.Config.ConfigMgr).Instance().GetBoolean("Halux_Planning_AutoResync")) { w "Modified "_DataToeNr_" "_GlobalToelevering.GeefToeNr(),! } // De toeleveringnr komt in beide sets voor - Set Toelevering = ##class(DOM.DomeinContext).Instance().GeefToeleveringAPI().GeefToelevering(DataToeNr) - If ($IsObject(Toelevering)) + Set ToeleveringAPI = ##class(DOM.DomeinContext).Instance().GeefToeleveringAPI() + If (ToeleveringAPI.BestaatToelevering(DataToeNr)) { + Set Toelevering = ToeleveringAPI.GeefToelevering(DataToeNr) Set ToeleveringModifiedEventData = ##class(TECH.Events.ToeleveringModifiedEventData).%New(Toelevering) Set ToeleveringModifiedEvent = ##class(TECH.Events.ToeleveringModifiedEvent).%New(ToeleveringModifiedEventData) Do ##class(APPS.Halux.Planning.impl.EventCatcher).ToeleveringModEventListener(ToeleveringModifiedEvent) Index: APPS/Halux/common/impl/BatchImpl.cls.xml =================================================================== diff -u -r1133 -r3701 --- APPS/Halux/common/impl/BatchImpl.cls.xml (.../BatchImpl.cls.xml) (revision 1133) +++ APPS/Halux/common/impl/BatchImpl.cls.xml (.../BatchImpl.cls.xml) (revision 3701) @@ -80,10 +80,9 @@ While (Iterator.HasNext()) { Set ToeleveringNummer = Iterator.Next() - Set Toelevering = ToeleveringAPI.GeefToelevering(ToeleveringNummer) - If ($IsObject(Toelevering)) + If (ToeleveringAPI.BestaatToelevering(ToeleveringNummer)) { - Do Toeleveringen.Insert(Toelevering) + Do Toeleveringen.Insert(ToeleveringAPI.GeefToelevering(ToeleveringNummer)) } } Quit ##class(TECH.ListIterator).%New(Toeleveringen) Index: DOM/AKP/event/ProductToelevLijnEventData.cls.xml =================================================================== diff -u -r3202 -r3701 --- DOM/AKP/event/ProductToelevLijnEventData.cls.xml (.../ProductToelevLijnEventData.cls.xml) (revision 3202) +++ DOM/AKP/event/ProductToelevLijnEventData.cls.xml (.../ProductToelevLijnEventData.cls.xml) (revision 3701) @@ -64,7 +64,6 @@ If ('$IsObject(..ProductToeleveringLijn)) { Set Toelevering = ##class(DOM.DomeinContext).Instance().GeefToeleveringAPI().GeefToelevering(..GeefToeleveringID()) - If ('$IsObject(Toelevering)) { Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.ObjectExpectedException).%New("Toelevering "_..GeefToeleveringID()_" bestaat niet")) } Set ..ProductToeleveringLijn = Toelevering.GeefToeleveringLijnViaCode(..GeefToeleveringLijnCode()) If ('$IsObject(..ProductToeleveringLijn)) { Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.ObjectExpectedException).%New("Toeleveringlijn bestaat niet (OrderID, OrderLijnCode): "_..GeefToeleveringID()_" "_..GeefToeleveringLijnCode()_" bestaat niet")) } } Index: DOM/LEV/impl/DataM/DataMToeleveringAPI.cls.xml =================================================================== diff -u -r1075 -r3701 --- DOM/LEV/impl/DataM/DataMToeleveringAPI.cls.xml (.../DataMToeleveringAPI.cls.xml) (revision 1075) +++ DOM/LEV/impl/DataM/DataMToeleveringAPI.cls.xml (.../DataMToeleveringAPI.cls.xml) (revision 3701) @@ -8,10 +8,23 @@ ToeleveringNummer:%Integer DOM.LEV.Toelevering - + +ToeleveringNummer:%Integer +%Boolean + + + LeverancierNummer:%Integer DOM.LEV.Leverancier Index: APPS/Halux/Planning/impl/ToeleveringInfo.cls.xml =================================================================== diff -u -r1382 -r3701 --- APPS/Halux/Planning/impl/ToeleveringInfo.cls.xml (.../ToeleveringInfo.cls.xml) (revision 1382) +++ APPS/Halux/Planning/impl/ToeleveringInfo.cls.xml (.../ToeleveringInfo.cls.xml) (revision 3701) @@ -127,10 +127,9 @@ { Set ToeleveringAPI = ##class(DOM.DomeinContext).Instance().GeefToeleveringAPI() - Set Toelevering = ToeleveringAPI.GeefToelevering(..%Id()) - If ($IsObject(Toelevering)) + If (ToeleveringAPI.BestaatToelevering(..%Id())) { - Set LeverImpact = ##class(APPS.Halux.Planning.impl.ProductPlanningUtils).GeefLeverImpact(Toelevering,..Gepland) + Set LeverImpact = ##class(APPS.Halux.Planning.impl.ProductPlanningUtils).GeefLeverImpact(ToeleveringAPI.GeefToelevering(..%Id()),..Gepland) } }