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 -