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
+
+