Index: WSimpl/Halux/PPS/MatService.cls.xml =================================================================== diff -u -r66540 -r66607 --- WSimpl/Halux/PPS/MatService.cls.xml (.../MatService.cls.xml) (revision 66540) +++ WSimpl/Halux/PPS/MatService.cls.xml (.../MatService.cls.xml) (revision 66607) @@ -34,21 +34,33 @@ Set Response = ##class(WS.Halux.PPS.MatService.GeefAfmetingenResponse).%New() Try { #dim BatchId As %Integer = GeefAfmetingenRequest.BatchId - #dim Batch As APPS.Halux.common.Batch = ..BatchService.GeefBatch(BatchId) - #dim Categorie As APPS.Halux.common.enu.Categorie = Batch.GeefCategorie() - #dim MatAfmetingenIterator As TECH.Iterator = ..GeefMatAfmetingenIterator(BatchId, Categorie) - If MatAfmetingenIterator.HasNext() { - Set Response.Header.Status = "200" - Set Response.BatchId = BatchId - Set Response.Categorie = Categorie - While MatAfmetingenIterator.HasNext() { - Do Response.MatAfmetingen.Insert(..MatAfmetingenUitvoeringInfoNaarDto(MatAfmetingenIterator.Next())) - } + If ($$$Not(BatchId = "")) { + #dim Batch As APPS.Halux.common.Batch = ..BatchService.GeefBatch(BatchId) + #dim Categorie As APPS.Halux.common.enu.Categorie = Batch.GeefCategorie() + + If (..IsCategorieOndersteund(Categorie)) { + #dim MatAfmetingenIterator As TECH.Iterator = ..GeefMatAfmetingenIterator(BatchId, Categorie) + + If MatAfmetingenIterator.HasNext() { + Set Response.Header.Status = "200" + Set Response.BatchId = BatchId + Set Response.Categorie = Categorie + While MatAfmetingenIterator.HasNext() { + Do Response.MatAfmetingen.Insert(..MatAfmetingenUitvoeringInfoNaarDto(MatAfmetingenIterator.Next())) + } + } Else { + Set Response.Header.Status = ##class(TECH.enu.ExceptionCode).DataNotFound() + Set Response.Header.Omschrijving = "Geen data gevonden voor Batch met id '"_GeefAfmetingenRequest.BatchId_"'." + } + } Else { + Set Response.Header.Status = ##class(TECH.enu.ExceptionCode).Unimplemented() + Set Response.Header.Omschrijving = "MatService is niet geïmplementeerd voor Categorie '" _ Categorie _ "'." + } } Else { - Set Response.Header.Status = ##class(TECH.enu.ExceptionCode).DataNotFound() - Set Response.Header.Omschrijving = "Geen data gevonden voor Batch met id '"_GeefAfmetingenRequest.BatchId_"'." + Set Response.Header.Status = ##class(TECH.enu.ExceptionCode).InvalidInput() + Set Response.Header.Omschrijving = "Geen BatchId meegegeven." } } Catch { #dim Exception As TECH.Exceptions.Exception = ##class(TECH.ExceptionHandler).Catch() @@ -60,6 +72,21 @@ ]]> + +Categorie:APPS.Halux.common.enu.Categorie +1 +%Boolean + + + BatchId:%Integer,Categorie:APPS.Halux.common.enu.Categorie 1