Index: vhConsistency/Checks/Events/ControleOrders.cls.xml =================================================================== diff -u -r53420 -r65929 --- vhConsistency/Checks/Events/ControleOrders.cls.xml (.../ControleOrders.cls.xml) (revision 53420) +++ vhConsistency/Checks/Events/ControleOrders.cls.xml (.../ControleOrders.cls.xml) (revision 65929) @@ -47,8 +47,28 @@ #dim OrderID As %String = ResultSet.Data("ID") If $$$Not(##class(DOM.DomeinContext).Instance().GeefOrderAPI().BestaatOrder(OrderID)) { - Do ..VoegMeldingToe("Order "_OrderID_" verwijderd") - Do ##class(DOM.VKP.event.OrderEventRaiser).RaiseOrderVerwijderdEvent(OrderID) + #dim KlantId As %String = "" + #dim BestaatOrderDataInKOD As %Boolean = ##class(BL.Legacy.Order).BestaatOrderDataInKOD(OrderID, .KlantId) + If $$$Not(BestaatOrderDataInKOD) { + Do ..VoegMeldingToe("Order "_OrderID_" verwijderd") + Do ##class(DOM.VKP.event.OrderEventRaiser).RaiseOrderVerwijderdEvent(OrderID) + } + Else { + // OrderData in ^KOD bestaat, maar de index ^KO1 bestaat niet want OrderAPI.BestaatOrder() geeft False. Uiteraard is dit niet consistent! + // We zullen deze scheve situatie proberen te fixen. + If $$$Not(##class(BL.Legacy.Order).IsOrderDataConsistent(KlantId,OrderID)) { + Do ..VoegMeldingToe("Inconsistency tussen ^KO1 en ^KOD voor OrderID '"_OrderID_"' voor klant '"_KlantId_"'. Dit moet eerst gefixed worden. Poging 1 via Autofixer ... ") + Do ##class(BL.Legacy.Order).RebuildIndexKOD(KlantId,OrderID) + Do ..VoegMeldingToe("Autofixer RebuildIndexKOD() uitgevoerd voor OrderID '"_OrderID_"'.") + + If (##class(BL.Legacy.Order).IsOrderDataConsistent(KlantId,OrderID)) { + Do ..VoegMeldingToe("De inconsistency tussen ^KO1 en ^KOD voor OrderID '"_OrderID_"' voor klant '"_KlantId_"' is opgelost. Het order bestaat nu, dus 'Event.Order' wordt niet verwijderd.") + } + Else { + Do ..VoegMeldingToe("Inconsistency tussen ^KO1 en ^KOD voor OrderID '"_OrderID_"' voor klant '"_KlantId_"' blijft. Dit moet manueel gefixed worden. Nadien deze check opnieuw uitvoeren.") + } + } + } } } ]]>