Index: APPS/Halux/Planning/impl/BatchService.cls.xml =================================================================== diff -u -r31178 -r31179 --- APPS/Halux/Planning/impl/BatchService.cls.xml (.../BatchService.cls.xml) (revision 31178) +++ APPS/Halux/Planning/impl/BatchService.cls.xml (.../BatchService.cls.xml) (revision 31179) @@ -194,7 +194,6 @@ Batch:APPS.Halux.common.Batch,Toelevering:DOM.AKP.Toelevering 1 ResultSet.Data("MaxVolgnummer")) ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.InvalidInputException).%New("Nieuw nummer mag niet groter zijn dan de bestaande grootste. BatchID: " _ BatchID _ ", Verplaatsen naar volgNr: " _ VerplaatsNaarVolgnummer)) - } - - do ResultSet.Close() - - set ResultSet = ##class(%ResultSet).%New() - do ResultSet.Prepare("SELECT ID FROM APPS_Halux_common_impl.BatchImpl WHERE Volgnummer >= ? AND Volgnummer <= ? AND GeplandOp = ? AND Categorie = ? AND ID <> ?") - - if (Batch.GeefVolgnummer() > VerplaatsNaarVolgnummer) { - do ResultSet.Execute(VerplaatsNaarVolgnummer, Batch.GeefVolgnummer(), Batch.GeefGeplandOp(), Batch.GeefCategorie(), BatchID) + try { + #dim ResultSet As %ResultSet = ##class(%ResultSet).%New() - while (ResultSet.Next()) { - set TeWijzigenBatch = ..BatchService.GeefBatch(ResultSet.Data("ID")) - - do TeWijzigenBatch.ZetVolgnummer(TeWijzigenBatch.GeefVolgnummer() + 1) - do TeWijzigenBatch.Save() - do BatchOverzicht.MaatwerkBatches.Insert(..GeefMaatwerkBatch(TeWijzigenBatch)) + do ResultSet.Prepare("SELECT Max(Volgnummer) As MaxVolgnummer FROM APPS_Halux_common_impl.BatchImpl WHERE AND GeplandOp = ? AND Categorie = ? GROUP BY GeplandOp") + do ResultSet.Execute(Batch.GeefGeplandOp(), Batch.GeefCategorie()) + + if (ResultSet.Next()) { + do:(VerplaatsNaarVolgnummer > ResultSet.Data("MaxVolgnummer")) ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.InvalidInputException).%New("Nieuw nummer mag niet groter zijn dan de bestaande grootste. BatchID: " _ BatchID _ ", Verplaatsen naar volgNr: " _ VerplaatsNaarVolgnummer)) } - } else { - do ResultSet.Execute(Batch.GeefVolgnummer(), VerplaatsNaarVolgnummer, Batch.GeefGeplandOp(), Batch.GeefCategorie(), BatchID) - while (ResultSet.Next()) { - set TeWijzigenBatch = ..BatchService.GeefBatch(ResultSet.Data("ID")) + + do ResultSet.Close() + + set ResultSet = ##class(%ResultSet).%New() + do ResultSet.Prepare("SELECT ID FROM APPS_Halux_common_impl.BatchImpl WHERE Volgnummer >= ? AND Volgnummer <= ? AND GeplandOp = ? AND Categorie = ? AND ID <> ?") + + if (Batch.GeefVolgnummer() > VerplaatsNaarVolgnummer) { + do ResultSet.Execute(VerplaatsNaarVolgnummer, Batch.GeefVolgnummer(), Batch.GeefGeplandOp(), Batch.GeefCategorie(), BatchID) - do TeWijzigenBatch.ZetVolgnummer(TeWijzigenBatch.GeefVolgnummer() - 1) - do TeWijzigenBatch.Save() - do BatchOverzicht.MaatwerkBatches.Insert(..GeefMaatwerkBatch(TeWijzigenBatch)) + while (ResultSet.Next()) { + set TeWijzigenBatch = ..BatchService.GeefBatch(ResultSet.Data("ID")) + + do TeWijzigenBatch.ZetVolgnummer(TeWijzigenBatch.GeefVolgnummer() + 1) + do TeWijzigenBatch.Save() + do BatchOverzicht.MaatwerkBatches.Insert(..GeefMaatwerkBatch(TeWijzigenBatch)) + } + } else { + do ResultSet.Execute(Batch.GeefVolgnummer(), VerplaatsNaarVolgnummer, Batch.GeefGeplandOp(), Batch.GeefCategorie(), BatchID) + while (ResultSet.Next()) { + set TeWijzigenBatch = ..BatchService.GeefBatch(ResultSet.Data("ID")) + + do TeWijzigenBatch.ZetVolgnummer(TeWijzigenBatch.GeefVolgnummer() - 1) + do TeWijzigenBatch.Save() + do BatchOverzicht.MaatwerkBatches.Insert(..GeefMaatwerkBatch(TeWijzigenBatch)) + } } + + do Batch.ZetVolgnummer(VerplaatsNaarVolgnummer) + do Batch.Save() + do BatchOverzicht.MaatwerkBatches.Insert(..GeefMaatwerkBatch(Batch)) + + do OperatieScope.Gelukt() + } catch { + do OperatieScope.Gefaald() + do ##class(TECH.ExceptionHandler).Rethrow(##class(TECH.ExceptionHandler).Catch()) } - do Batch.ZetVolgnummer(VerplaatsNaarVolgnummer) - do Batch.Save() - do BatchOverzicht.MaatwerkBatches.Insert(..GeefMaatwerkBatch(Batch)) - - do OperatieScope.Gelukt() - quit BatchOverzicht ]]>