Index: vhUnitTest/APPS/Halux/Planning/TestPlanningService.cls.xml
===================================================================
diff -u -r3526 -r3986
--- vhUnitTest/APPS/Halux/Planning/TestPlanningService.cls.xml (.../TestPlanningService.cls.xml) (revision 3526)
+++ vhUnitTest/APPS/Halux/Planning/TestPlanningService.cls.xml (.../TestPlanningService.cls.xml) (revision 3986)
@@ -317,23 +317,39 @@
// Plannen om een vaste leverimpact te krijgen
Set Resultaat = PlanningService.VerplaatsToeleveringen("UTGebruiker", "Een opmerking", 62214, ToeleveringNummers)
- Set Resultaat = PlanningService.EvalueerVerplaatsing(+$H,DataLijst,ToeleveringNummers)
+ Set Verplaatsingen = PlanningService.EvalueerVerplaatsing(+$H,DataLijst,ToeleveringNummers)
+
+ Set Resultaat = Verplaatsingen.GetAt(1)
+ Do $$$AssertEquals(Resultaat.ToeleveringID,ToeleveringNummers.GetAt(1),"De evaluatie voor de eerste toelevering")
Do $$$AssertEquals(Resultaat.Evaluaties.Count(),1,"Er is 1 algemene opmerking")
Do $$$AssertEquals(Resultaat.Evaluaties.GetAt(1),"Toelevering 298209 zit reeds in een batch en kan beter niet verplaatst worden.","Deze toelevering hebben we in een batch gestoken en kunnen we dus beter niet verplaatsen.")
Do ##class(APPS.Halux.common.BatchService).%New().VerwijderBatch(Batch.GeefBatchID())
Set VerplaatsingEvaluatie1 = Resultaat.VerplaatsingEvaluaties.GetAt(1)
Do $$$AssertEquals(VerplaatsingEvaluatie1.VerplaatsNaar,62100,"Evalueer verplaatsing naar 62100")
- Do $$$AssertEquals(VerplaatsingEvaluatie1.Evaluaties.Count(),2,"Er zijn 2 dag specifieke opmerkingen")
+ Do $$$AssertEquals(VerplaatsingEvaluatie1.Evaluaties.Count(),1,"Er is 1 dag specifieke opmerking")
Do $$$AssertEquals(VerplaatsingEvaluatie1.Evaluaties.GetAt(1),"Toelevering 298209 met een stockprobleem wordt best niet naar voor verplaatst.","Naar voor plaatsen van een toelevering met een stockprobleem is af te raden")
- Do $$$AssertEquals(VerplaatsingEvaluatie1.Evaluaties.GetAt(2),"Toelevering 296195 met een stockprobleem wordt best niet naar voor verplaatst.","Naar voor plaatsen van een toelevering met een stockprobleem is af te raden")
-
- Set VerplaatsingEvaluatie2 = Resultaat.VerplaatsingEvaluaties.GetAt(2)
+
+ Set VerplaatsingEvaluatie2 = Resultaat.VerplaatsingEvaluaties.GetAt(2)
Do $$$AssertEquals(VerplaatsingEvaluatie2.VerplaatsNaar,62200,"Evalueer verplaatsing naar 62200")
- Do $$$AssertEquals(VerplaatsingEvaluatie2.Evaluaties.Count(),2,"Er zijn 2 dag specifieke opmerkingen")
+ Do $$$AssertEquals(VerplaatsingEvaluatie2.Evaluaties.Count(),1,"Er is 1 dag specifieke opmerking")
Do $$$AssertEquals(VerplaatsingEvaluatie2.Evaluaties.GetAt(1),"Toelevering 298209 wordt naar achter verplaatst en krijgt een leverimpact. Leverimpact ten opzichte van due out: 28 dagen. Leverimpact ten opzichte van de planning: -"_($H-62200)_" dagen.","Het naar achter plaatsen van een toelevering levert een impactprobleem op")
- Do $$$AssertEquals(VerplaatsingEvaluatie2.Evaluaties.GetAt(2),"Toelevering 296195 wordt naar achter verplaatst en krijgt een leverimpact. Leverimpact ten opzichte van due out: 63 dagen. Leverimpact ten opzichte van de planning: -"_($H-62200)_" dagen.","Het naar achter plaatsen van een toelevering levert een impactprobleem op")
+ Do $$$AssertEquals(VerplaatsingEvaluatie2.LeverimpactDueOutInDagen, 28,"De leverimpact ten opzichte van de due out")
+ Do $$$AssertEquals(VerplaatsingEvaluatie2.LeverimpactPlanningInDagen, -($H-62200),"De leverimpact ten opzichte van de planning")
+
+ Set Resultaat = Verplaatsingen.GetAt(2)
+ Set VerplaatsingEvaluatie1 = Resultaat.VerplaatsingEvaluaties.GetAt(1)
+ Do $$$AssertEquals(VerplaatsingEvaluatie1.VerplaatsNaar,62100,"Evalueer verplaatsing naar 62100")
+ Do $$$AssertEquals(VerplaatsingEvaluatie1.Evaluaties.Count(),1,"Er is 1 dag specifieke opmerking")
+ Do $$$AssertEquals(VerplaatsingEvaluatie1.Evaluaties.GetAt(1),"Toelevering 296195 met een stockprobleem wordt best niet naar voor verplaatst.","Naar voor plaatsen van een toelevering met een stockprobleem is af te raden")
+
+ Set VerplaatsingEvaluatie2 = Resultaat.VerplaatsingEvaluaties.GetAt(2)
+ Do $$$AssertEquals(VerplaatsingEvaluatie2.VerplaatsNaar,62200,"Evalueer verplaatsing naar 62200")
+ Do $$$AssertEquals(VerplaatsingEvaluatie2.Evaluaties.Count(),1,"Er is 1 dag specifieke opmerking")
+ Do $$$AssertEquals(VerplaatsingEvaluatie2.Evaluaties.GetAt(1),"Toelevering 296195 wordt naar achter verplaatst en krijgt een leverimpact. Leverimpact ten opzichte van due out: 63 dagen. Leverimpact ten opzichte van de planning: -"_($H-62200)_" dagen.","Het naar achter plaatsen van een toelevering levert een impactprobleem op")
+ Do $$$AssertEquals(VerplaatsingEvaluatie2.LeverimpactDueOutInDagen, 63, "De leverimpact ten opzichte van de due out")
+ Do $$$AssertEquals(VerplaatsingEvaluatie2.LeverimpactPlanningInDagen, -($H-62200),"De leverimpact ten opzichte van de planning")
]]>
Index: APPS/Halux/Planning/dto/EvalueerVerplaatsingResultaat.cls.xml
===================================================================
diff -u -r1073 -r3986
--- APPS/Halux/Planning/dto/EvalueerVerplaatsingResultaat.cls.xml (.../EvalueerVerplaatsingResultaat.cls.xml) (revision 1073)
+++ APPS/Halux/Planning/dto/EvalueerVerplaatsingResultaat.cls.xml (.../EvalueerVerplaatsingResultaat.cls.xml) (revision 3986)
@@ -14,5 +14,9 @@
APPS.Halux.Planning.dto.VerplaatsingEvaluatie
list
+
+
+%String
+
Index: APPS/Halux/Planning/PlanningService.cls.xml
===================================================================
diff -u -r3701 -r3986
--- APPS/Halux/Planning/PlanningService.cls.xml (.../PlanningService.cls.xml) (revision 3701)
+++ APPS/Halux/Planning/PlanningService.cls.xml (.../PlanningService.cls.xml) (revision 3986)
@@ -69,18 +69,20 @@
Van:%Date,Naar:APPS.Halux.Planning.dto.DataLijst,ToeleveringNummers:%ListOfDataTypes
-APPS.Halux.Planning.dto.EvalueerVerplaatsingResultaat
+APPS.Halux.Planning.dto.EvaluatiesVerplaatsingen
DueOutDag)
- {
- Set LeverImpact = ##class(APPS.Halux.Planning.impl.ProductPlanningUtils).GeefLeverImpact(Toelevering, ##class(TECH.DateTime).DateToTimeStamp(Datum))
- If (LeverImpact '= 0)
+ Set Datum = DatumIterator.Next()
+
+ Set VerplaatsingEvaluatie = ##class(APPS.Halux.Planning.dto.VerplaatsingEvaluatie).%New()
+ Set VerplaatsingEvaluatie.VerplaatsNaar = Datum
+
+ Set HeeftFysiekStockProbleem = 0
+ Set ProductLijnIterator = Toelevering.GeefTypeToeleveringLijnIterator(##class(DOM.LEV.enu.ToeleveringLijnType).Product())
+ While (('HeeftFysiekStockProbleem) && (ProductLijnIterator.HasNext()))
{
- Set LeverImpactVan = ##class(APPS.Halux.Planning.impl.ProductPlanningUtils).GeefLeverImpact(Toelevering, ##class(TECH.DateTime).DateToTimeStamp(Datum), ##class(TECH.DateTime).DateToTimeStamp(Van))
- Do VerplaatsingEvaluatie.Evaluaties.Insert("Toelevering "_Toelevering.GeefToeNr()_" wordt naar achter verplaatst en krijgt een leverimpact. Leverimpact ten opzichte van due out: "_LeverImpact_" dagen. Leverimpact ten opzichte van de planning: "_LeverImpactVan_" dagen.")
+ Set ProductLijn = ProductLijnIterator.Next()
+ Set HeeftFysiekStockProbleem = ProductLijn.HeeftFysiekStockProbleem()
}
+
+ Set DueOutDag = $Piece(Toelevering.GeefDueOutTime(),",")
+
+ If (HeeftFysiekStockProbleem && (Datum < DueOutDag))
+ {
+ Do VerplaatsingEvaluatie.Evaluaties.Insert("Toelevering "_Toelevering.GeefToeNr()_" met een stockprobleem wordt best niet naar voor verplaatst.")
+ }
+ If (Datum > DueOutDag)
+ {
+ Set LeverImpactDueOut = ##class(APPS.Halux.Planning.impl.ProductPlanningUtils).GeefLeverImpact(Toelevering, ##class(TECH.DateTime).DateToTimeStamp(Datum))
+ If (LeverImpactDueOut '= 0)
+ {
+ Set LeverImpactPlanning = ##class(APPS.Halux.Planning.impl.ProductPlanningUtils).GeefLeverImpact(Toelevering, ##class(TECH.DateTime).DateToTimeStamp(Datum), ##class(TECH.DateTime).DateToTimeStamp(Van))
+ Do VerplaatsingEvaluatie.Evaluaties.Insert("Toelevering "_Toelevering.GeefToeNr()_" wordt naar achter verplaatst en krijgt een leverimpact. Leverimpact ten opzichte van due out: "_LeverImpactDueOut_" dagen. Leverimpact ten opzichte van de planning: "_LeverImpactPlanning_" dagen.")
+ Set VerplaatsingEvaluatie.LeverimpactDueOutInDagen = LeverImpactDueOut
+ Set VerplaatsingEvaluatie.LeverimpactPlanningInDagen = LeverImpactPlanning
+ }
+ }
+
+ If (VerplaatsingEvaluatie.Evaluaties.Count() > 0)
+ {
+ Do Resultaat.VerplaatsingEvaluaties.Insert(VerplaatsingEvaluatie)
+ }
}
+
}
- If (VerplaatsingEvaluatie.Evaluaties.Count() > 0)
+ Else
{
- Do Resultaat.VerplaatsingEvaluaties.Insert(VerplaatsingEvaluatie)
+ Do Resultaat.Evaluaties.Insert("Toelevering "_ToeleveringNummer_" bestaat niet.")
}
+ Do Verplaatsingen.Insert(Resultaat)
}
- Quit Resultaat
+
+ Quit Verplaatsingen
]]>
Index: APPS/Halux/Planning/dto/EvaluatiesVerplaatsingen.cls.xml
===================================================================
diff -u
--- APPS/Halux/Planning/dto/EvaluatiesVerplaatsingen.cls.xml (revision 0)
+++ APPS/Halux/Planning/dto/EvaluatiesVerplaatsingen.cls.xml (revision 3986)
@@ -0,0 +1,17 @@
+
+
+
+serial
+1
+%ListOfObjects
+0
+
+
+APPS.Halux.Planning.dto.EvalueerVerplaatsingResultaat
+
+
+
+%Library.CompleteCustomStorage
+
+
+
Index: APPS/Halux/Planning/dto/VerplaatsingEvaluatie.cls.xml
===================================================================
diff -u -r1073 -r3986
--- APPS/Halux/Planning/dto/VerplaatsingEvaluatie.cls.xml (.../VerplaatsingEvaluatie.cls.xml) (revision 1073)
+++ APPS/Halux/Planning/dto/VerplaatsingEvaluatie.cls.xml (.../VerplaatsingEvaluatie.cls.xml) (revision 3986)
@@ -13,5 +13,15 @@
%Date
+
+
+%Integer
+0
+
+
+
+%Integer
+0
+