Index: WSimpl/Halux/PPS/MatService.cls.xml =================================================================== diff -u -r66744 -r66745 --- WSimpl/Halux/PPS/MatService.cls.xml (.../MatService.cls.xml) (revision 66744) +++ WSimpl/Halux/PPS/MatService.cls.xml (.../MatService.cls.xml) (revision 66745) @@ -96,11 +96,28 @@ #dim MatInfo As DOM.Halux.PPS.MatInfo = MatInfoIterator.Next() If ($$$Not(MatInfoIterator.HasNext())) { If (IsGesneden && $$$Not(MatInfo.IsGesneden)) { + Set MatInfo.AantalGesneden = MatInfo.AantalGesneden + 1 + Set MatInfo.SnijTijdstip = ##class(TECH.DateTime).HorologToTimeStamp(..DateTimeApi.CurrentHorolog()) + If (MatInfo.AantalGesneden = MatInfo.Aantal) { + Set MatInfo.IsGesneden = $$$True } Else { - Set Response.Header.Status = ##class(TECH.enu.ExceptionCode).IllegalUsage() - Set Response.Header.Omschrijving = "Alle matten voor ProductId '"_ProductId_"' en dossiercode '"_DossierCode_"' zijn reeds gesneden op '"_MatInfo.SnijTijdstip_"'." - } + Set MatInfo.IsGesneden = $$$False + } + + Do ..MatInfoRepository.Bewaar(MatInfo) + + #dim Batch As APPS.Halux.common.Batch = ..BatchService.GeefBatch(MatInfo.BatchId) + #dim Categorie As APPS.Halux.common.enu.Categorie = Batch.GeefCategorie() + + Set Response.Header.Status = "200" + Set Response.BatchId = MatInfo.BatchId + Set Response.Categorie = Categorie + Set Response.MatInfo = ..MatAfmetingenUitvoeringInfoNaarDto(MatInfo) + } Else { + Set Response.Header.Status = ##class(TECH.enu.ExceptionCode).IllegalUsage() + Set Response.Header.Omschrijving = "Alle matten voor ProductId '"_ProductId_"' en dossiercode '"_DossierCode_"' zijn reeds gesneden op '"_MatInfo.SnijTijdstip_"'." + } } Else { Set Response.Header.Status = ##class(TECH.enu.ExceptionCode).DataCorrupt() Set Response.Header.Omschrijving = "Meerdere records gevonden voor mat met ProductId '"_ProductId_"' en dossiercode '"_DossierCode_"'." Index: vhUnitTest/WSimpl/Halux/PPS/MatService/ZetStatusGesneden/Test.cls.xml =================================================================== diff -u -r66744 -r66745 --- vhUnitTest/WSimpl/Halux/PPS/MatService/ZetStatusGesneden/Test.cls.xml (.../Test.cls.xml) (revision 66744) +++ vhUnitTest/WSimpl/Halux/PPS/MatService/ZetStatusGesneden/Test.cls.xml (.../Test.cls.xml) (revision 66745) @@ -62,9 +62,7 @@ Set Request.DossierCode = "UTDossierCode" Set MatInfoLijst = ##class(%ListOfObjects).%New() - #dim MatInfo As DOM.Halux.PPS.MatInfo = ##class(DOM.Halux.PPS.MatInfo).%New() - Set MatInfo.IsGesneden = $$$True - Set MatInfo.SnijTijdstip = "UT SnijTijdstip" + #dim MatInfo As DOM.Halux.PPS.MatInfo = ..MaakMatInfoObject($$$True, "UT Tijdstip") Do MatInfoLijst.Insert(MatInfo) Set MatInfoIterator = ##class(TECH.ListIterator).%New(MatInfoLijst) @@ -80,6 +78,73 @@ Do MatInfoRepositoryMock.Verifieer() ]]> + + + + + + +IsGesneden:%Boolean,SnijTijdstip:TECH.Horolog,AantalGesneden:%Integer=0,Aantal:%Integer=1,BatchId:%Integer="123456" +1 +DOM.Halux.PPS.MatInfo + + + + +BatchId:%Integer,Categorie:APPS.Halux.common.enu.Categorie +vhTest.Mock.APPS.Halux.common.BatchService + +