Index: APPS/Halux/Planning/impl/BatchService.cls.xml
===================================================================
diff -u -r31170 -r31178
--- APPS/Halux/Planning/impl/BatchService.cls.xml (.../BatchService.cls.xml) (revision 31170)
+++ APPS/Halux/Planning/impl/BatchService.cls.xml (.../BatchService.cls.xml) (revision 31178)
@@ -32,12 +32,13 @@
Datum:%Date
APPS.Halux.Planning.dto.BatchOverzicht
@@ -47,55 +48,58 @@
%ListOfObjects
ELEMENTTYPE="APPS.Halux.Planning.dto.MaatwerkBatch"
Batch:APPS.Halux.common.Batch
APPS.Halux.Planning.dto.MaatwerkBatch
-
BatchID:%String
APPS.Halux.Planning.dto.BatchToeleveringen
@@ -104,111 +108,120 @@
%ListOfObjects
ELEMENTTYPE="APPS.Halux.Planning.dto.Toelevering"
Toeleveringen:%ListOfDataTypes,BatchID:%String
APPS.Halux.Planning.dto.VerplaatsResultaat
+
+Batch:APPS.Halux.common.Batch,Toelevering:DOM.AKP.Toelevering
+1
+
+
+
Toelevering:DOM.AKP.Toelevering
-%String
+TECH.String
1
%ListOfDataTypes
0) && ('##class(TECH.ListUtils).IsDeelverzamelingVan(..GeefProductieGroepen(Toelevering),MaatwerkBatch.ProductieGroep))
- {
- Do VerplaatsProblemen.Insert("Productiegroepen ("_##class(TECH.ListUtils).ListToPieces(..GeefProductieGroepen(Toelevering),",")_") van toelevering "_Toelevering.GeefID()_" komen niet overeen met de productiegroepen van de batch ("_##class(TECH.ListUtils).ListToPieces(MaatwerkBatch.ProductieGroep,",")_")")
+ if ((MaatwerkBatch.ProductieGroep.Count() > 0) && $$$Not(##class(TECH.ListUtils).IsDeelverzamelingVan(..GeefProductieGroepen(Toelevering), MaatwerkBatch.ProductieGroep))) {
+ do VerplaatsProblemen.Insert("Productiegroepen (" _ ##class(TECH.ListUtils).ListToPieces(..GeefProductieGroepen(Toelevering), ",") _ ") van toelevering " _ Toelevering.GeefID()_" komen niet overeen met de productiegroepen van de batch ("_##class(TECH.ListUtils).ListToPieces(MaatwerkBatch.ProductieGroep, ",") _ ")")
}
- Set PlanningService = ##class(APPS.Halux.Planning.PlanningService).%New()
+ #dim PlanningService As APPS.Halux.Planning.PlanningService = ##class(APPS.Halux.Planning.PlanningService).%New()
#dim Gepland As %TimeStamp = PlanningService.GeefToeleveringGeplandTijdstip(Toelevering.GeefID())
+
// FMA 7/01/2014. Deze test tijdelijk uitgezet op vraag van Halux. Zal voor een half jaar of zo zijn.
// Zie ook vhUnitTest.APPS.Halux.Planning.TestBatchService
- //If (MaatwerkBatch.Datum '= ##class(TECH.DateTime).TimestampToDate(Gepland))
- //{
- // Do VerplaatsProblemen.Insert("De toelevering "_Toelevering.GeefID()_" is gepland voor een andere datum dan de batch")
+ //if $$$Not(MaatwerkBatch.Datum = ##class(TECH.DateTime).TimestampToDate(Gepland)) {
+ // do VerplaatsProblemen.Insert("De toelevering "_Toelevering.GeefID()_" is gepland voor een andere datum dan de batch")
//}
- #dim BatchVan As APPS.Halux.common.Batch = ..BatchService.GeefBijhorendeBatch(Toelevering)
- If ($IsObject(BatchVan)) && (BatchVan.GeefStatus() = ##class(APPS.Halux.common.enu.BatchStatus).Gestart())
- {
- Do VerplaatsProblemen.Insert("De toelevering wordt verplaatst vanuit een batch die reeds is gestart")
+ #dim BronBatch As APPS.Halux.common.Batch = ..BatchService.GeefBijhorendeBatch(Toelevering)
+
+ if (($IsObject(BronBatch)) && (BronBatch.GeefStatus() = ##class(APPS.Halux.common.enu.BatchStatus).Gestart())) {
+ do VerplaatsProblemen.Insert("De toelevering wordt verplaatst vanuit een batch die reeds is gestart")
}
- If (MaatwerkBatch.Status = ##class(APPS.Halux.common.enu.BatchStatus).Gestart())
- {
- Do VerplaatsProblemen.Insert("De batch is reeds gestart")
+ if (MaatwerkBatch.Status = ##class(APPS.Halux.common.enu.BatchStatus).Gestart()) {
+ do VerplaatsProblemen.Insert("De batch is reeds gestart")
}
- #dim BatchNaar As APPS.Halux.common.Batch = ..BatchService.GeefBatch(MaatwerkBatch.ID)
- #dim NaarToeleveringIterator As TECH.Iterator = BatchNaar.GeefToeleveringIterator()
+ #dim DoelBatch As APPS.Halux.common.Batch = ..BatchService.GeefBatch(MaatwerkBatch.ID)
+ #dim NaarToeleveringIterator As TECH.Iterator = DoelBatch.GeefToeleveringIterator()
// FMA 7/01/2014. Deze test tijdelijk uitgezet op vraag van Halux. Zal voor een half jaar of zo zijn.
// Zie ook vhUnitTest.APPS.Halux.Planning.TestBatchService
- //If (NaarToeleveringIterator.HasNext())
- //{
+ //if (NaarToeleveringIterator.HasNext()) {
//#dim EersteNaarToelevering As DOM.AKP.Toelevering = NaarToeleveringIterator.Next()
- //If (EersteNaarToelevering.GeefDueOutTime() '= Toelevering.GeefDueOutTime())
- //{
- // Do VerplaatsProblemen.Insert("De toelevering "_Toelevering.GeefID()_" heeft een andere due out dan deze in de batch")
+ //if $$$Not(EersteNaarToelevering.GeefDueOutTime() = Toelevering.GeefDueOutTime()) {
+ // do VerplaatsProblemen.Insert("De toelevering " _ Toelevering.GeefID() _ " heeft een andere due out dan deze in de batch")
//}
//}
-
- Quit VerplaatsProblemen
+ quit VerplaatsProblemen
]]>
Categorie:APPS.Halux.common.enu.Categorie
%ListOfDataTypes
@@ -301,66 +311,67 @@
APPS.Halux.Planning.dto.MaatwerkBatch
BatchID:%String
ToeleveringID:%String
APPS.Halux.Planning.dto.ZoekToeleveringResultaat
Datum:%Date,Categorie:APPS.Halux.common.enu.Categorie
APPS.Halux.Planning.dto.BatchOverzicht
@@ -369,21 +380,22 @@
BatchID:%String
-
Toelevering:DOM.AKP.Toelevering
%ListOfDataTypes
ELEMENTTYPE="APPS.Halux.common.enu.ProductieGroep"
-
@@ -392,14 +404,15 @@
1
%Date
@@ -410,49 +423,47 @@
ELEMENTTYPE="APPS.Halux.Planning.dto.TandemboxBatch"
@@ -461,55 +472,54 @@
APPS.Halux.Planning.dto.BatchOverzicht
ResultSet.Data("MaxVolgnummer")) Do ##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))
+ #dim ResultSet As %ResultSet = ##class(%ResultSet).%New()
+
+ 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))
}
- 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 <> ?")
+ do ResultSet.Close()
- If (Batch.GeefVolgnummer() > VerplaatsNaarVolgnummer)
- {
- Do ResultSet.Execute(VerplaatsNaarVolgnummer,Batch.GeefVolgnummer(),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))
+ 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)
+
+ 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))
+ } 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 Batch.ZetVolgnummer(VerplaatsNaarVolgnummer)
+ do Batch.Save()
+ do BatchOverzicht.MaatwerkBatches.Insert(..GeefMaatwerkBatch(Batch))
- Do OperatieScope.Gelukt()
+ do OperatieScope.Gelukt()
- Quit BatchOverzicht
+ quit BatchOverzicht
]]>
@@ -518,36 +528,43 @@
APPS.Halux.Planning.dto.BatchOverzicht
0 {
- Set Feedback = "De batches "_##class(TECH.ListUtils).ListToPieces(ReedsGestarteBatches,",")_" zijn reeds gestart en kunnen dus niet van productielijn veranderd worden."
- Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.InvalidUserInputException).%New(Feedback))
+ if (ReedsGestarteBatches.Size > 0) {
+ set Feedback = "De batches " _ ##class(TECH.ListUtils).ListToPieces(ReedsGestarteBatches, ",") _ " zijn reeds gestart en kunnen dus niet van productielijn veranderd worden."
+ do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.InvalidUserInputException).%New(Feedback))
}
- Quit BatchOverzicht
+
+ quit BatchOverzicht
]]>
@@ -556,12 +573,13 @@
@@ -571,39 +589,41 @@
Categorie:APPS.Halux.common.enu.Categorie
APPS.Halux.Planning.dto.ActieveBatchList
-
Batch:APPS.Halux.common.Batch
APPS.Halux.Planning.dto.ActieveBatch
-
BatchID:%String,SorteerType:APPS.Halux.Planning.enu.ToeleveringSorteerType
APPS.Halux.Planning.dto.BatchToeleveringenEnMaatwerkBatch
@@ -612,15 +632,16 @@
APPS.Halux.Planning.dto.BatchToeleveringen
@@ -629,29 +650,22 @@
1
APPS.Halux.Planning.impl.BatchService.MaatwerkBatchBuilder