Index: APPS/Halux/Planning/impl/BatchService.cls.xml
===================================================================
diff -u -r54300 -r75115
--- APPS/Halux/Planning/impl/BatchService.cls.xml (.../BatchService.cls.xml) (revision 54300)
+++ APPS/Halux/Planning/impl/BatchService.cls.xml (.../BatchService.cls.xml) (revision 75115)
@@ -4,25 +4,42 @@
%occIO
TECH.RegisteredObject,APPS.Halux.Planning.BatchService
+
+APPS.Halux.common.ProductieService
+1
+
+
APPS.Halux.common.BatchService
1
-
-APPS.Halux.common.ProductieService
+
+DOM.AKP.ToeleveringAPI
1
+
+APPS.Halux.Planning.impl.BatchService.MaatwerkBatchBuilderFactory
+1
+
+
+
+DOM.PM.impl.ProductTypeAPIimpl
+
+
-ProductieService:APPS.Halux.common.ProductieService=""
+ProductieService:APPS.Halux.common.ProductieService="",BatchService:APPS.Halux.common.BatchService,ToeleveringAPI:DOM.AKP.ToeleveringAPI,MaatwerkBatchBuilderFactory:APPS.Halux.Planning.impl.BatchService.MaatwerkBatchBuilderFactory,ProductTypeAPI:DOM.PM.impl.ProductTypeAPIimpl
1
1
%Status
1
@@ -49,7 +66,6 @@
ELEMENTTYPE="APPS.Halux.Planning.dto.MaatwerkBatch"
%ListOfObjects
ELEMENTTYPE="APPS.Halux.Planning.dto.Toelevering"
@@ -141,14 +157,13 @@
#dim Batch As APPS.Halux.common.Batch = ..BatchService.GeefBatch(BatchID)
#dim MaatwerkBatch As APPS.Halux.Planning.dto.MaatwerkBatch = ..GeefMaatwerkBatch(Batch)
#dim GewijzigdeBatches As %ArrayOfObjects = ##class(%ArrayOfObjects).%New()
- #dim ToeleveringAPI As DOM.AKP.ToeleveringAPI = ##class(DOM.DomeinContext).Instance().GeefToeleveringAPI()
#dim ToeleveringIterator As TECH.Iterator = ##class(TECH.ListIterator).%New(Toeleveringen)
#dim VerplaatsResultaat As APPS.Halux.Planning.dto.VerplaatsResultaat = ##class(APPS.Halux.Planning.dto.VerplaatsResultaat).%New()
set VerplaatsResultaat.BatchOverzicht = ##class(APPS.Halux.Planning.dto.BatchOverzicht).%New()
while (ToeleveringIterator.HasNext()) {
- #dim Toelevering As DOM.AKP.Toelevering = ToeleveringAPI.GeefToelevering(ToeleveringIterator.Next())
+ #dim Toelevering As DOM.AKP.Toelevering = ..ToeleveringAPI.GeefToelevering(ToeleveringIterator.Next())
#dim VerplaatsProblemen As list of %String = ..ControleerToeleveringVoorVerplaatsing(Toelevering, MaatwerkBatch)
do ##class(TECH.ListUtils).CopyListOfDataTypes(VerplaatsProblemen, VerplaatsResultaat.VerplaatsRapport)
@@ -207,8 +222,21 @@
#dim ProductLijn As DOM.AKP.ProductToeleveringLijn = Toelevering.GeefTypeToeleveringLijnIterator(##class(DOM.AKP.enu.ToeleveringLijnType).Product()).Next()
#dim ProductieGroep As APPS.Halux.common.enu.ProductieGroep = ..ProductieService.GeefProductieGroep(Toelevering.GeefKlantID(), ProductLijn.GeefProductID())
#dim ProductieLijnBepaler As APPS.Halux.Planning.impl.ProductieLijnBepaler = ##class(APPS.Halux.Planning.impl.ProductieLijnBepaler).%New()
+ #dim ProductieLijnBepalerOBJTMES As APPS.Halux.Planning.impl.ProductieLijnBepalerOBJTMES = ##class(APPS.Halux.Planning.impl.ProductieLijnBepalerOBJTMES).%New()
- set Lijn = ProductieLijnBepaler.BepaalLijn(Categorie, ProductieGroep)
+ #dim MesFaseActief As %Integer = ##class(TECH.Config.ConfigMgr).Instance().GeefString("APPS.Halux.PPS.Document.impl.BatchNaarObjective_MESFase")
+ #dim CategorTLM As %Boolean = ((..ProductTypeAPI.IsLegraboxProduct(ProductLijn.GeefProductID()) || ..ProductTypeAPI.IsMerivoboxProduct(ProductLijn.GeefProductID()) || ..ProductTypeAPI.IsTandemboxProduct(ProductLijn.GeefProductID())))
+
+ Set IsProductieWijzeVolledigBepaler = ##class(DOM.PM.Maatwerk.IngegevenKenmerkenTypeAPI.IsProductieWijzeVolledigBepaler).%New()
+ #dim MaatwerkProduct As DOM.PM.MaatwerkProduct = ..ProductTypeAPI.GeefMaatwerkProduct(ProductLijn.GeefProductID())
+ #dim IngegevenKenmerken As DOM.PM.Maatwerk.Calc.Common.IngegevenKenmerken = MaatwerkProduct.GeefIngegevenKenmerken()
+ #dim HeeftProductiewijzeVolledig As %Boolean = IsProductieWijzeVolledigBepaler.IsProductieWijzeVolledig(IngegevenKenmerken)
+
+ If ((MesFaseActief > 1) && CategorTLM){
+ set Lijn = ProductieLijnBepalerOBJTMES.BepaalLijn(Categorie, ProductieGroep, Toelevering.GeefKlantID(), HeeftProductiewijzeVolledig)
+ } Else {
+ set Lijn = ProductieLijnBepaler.BepaalLijn(Categorie, ProductieGroep)
+ }
}
quit Lijn
@@ -245,6 +273,10 @@
do VerplaatsProblemen.Insert("De toelevering wordt verplaatst vanuit een batch die reeds is gestart")
}
+ if (($IsObject(BronBatch)) && (BronBatch.GeefStatus() = ##class(APPS.Halux.common.enu.BatchStatus).BezigMetStarten())) {
+ do VerplaatsProblemen.Insert("De toelevering wordt verplaatst vanuit een batch die bezig is met starten")
+ }
+
if (MaatwerkBatch.Status = ##class(APPS.Halux.common.enu.BatchStatus).Gestart()) {
do VerplaatsProblemen.Insert("De batch is reeds gestart")
}
@@ -283,6 +315,14 @@
do Namen.Insert(##class(APPS.Halux.common.enu.ProductieLijn).Twee())
do Namen.Insert(##class(APPS.Halux.common.enu.ProductieLijn).Drie())
do Namen.Insert(##class(APPS.Halux.common.enu.ProductieLijn).B())
+
+ do:(##class(DOM.common.impl.ProjectSettingsAPI).%New().IsActiefLijn5()) Namen.Insert(##class(APPS.Halux.common.enu.ProductieLijn).Vijf())
+ } elseif (Categorie = ##class(APPS.Halux.common.enu.Categorie).Merivobox()) {
+ do Namen.Insert(##class(APPS.Halux.common.enu.ProductieLijn).Vier())
+
+ do:(##class(DOM.common.impl.ProjectSettingsAPI).%New().IsActiefLijn5()) Namen.Insert(##class(APPS.Halux.common.enu.ProductieLijn).Vijf())
+ } elseif (Categorie = ##class(APPS.Halux.common.enu.Categorie).Revego()) {
+ do Namen.Insert(##class(APPS.Halux.common.enu.ProductieLijn).SpecialWorkshop())
} else{
do Namen.Insert(##class(APPS.Halux.common.enu.ProductieLijn).Een())
}
@@ -317,13 +357,21 @@
-ToeleveringID:%String
+ToeleveringID:%String,MagOnbestaandeToeleveringOpkuisen:%Boolean=1
APPS.Halux.Planning.dto.ZoekToeleveringResultaat
1
%Date
Categorie:APPS.Halux.common.enu.Categorie
1
APPS.Halux.Planning.impl.BatchService.MaatwerkBatchBuilder
-