Index: APPS/Verpakking/OrgaluxBonOptimizer.cls.xml =================================================================== diff -u -r72444 -r72488 --- APPS/Verpakking/OrgaluxBonOptimizer.cls.xml (.../OrgaluxBonOptimizer.cls.xml) (revision 72444) +++ APPS/Verpakking/OrgaluxBonOptimizer.cls.xml (.../OrgaluxBonOptimizer.cls.xml) (revision 72488) @@ -62,10 +62,20 @@ -DOM.PM.ProductAPI +DOM.PM.impl.ProductAPI 1 + +DOM.PM.impl.ProductRolAPIimpl +1 + + + +DOM.VKP.impl.DataM.DataMOrderAPI +1 + + %String 1 @@ -116,13 +126,13 @@ 1 - + %ListOfDataTypes 1 -DoosFactory:APPS.Verpakking.DoosFactory="",DoosAanvuller:APPS.Verpakking.DoosAanvuller="",Optimizer:APPS.Verpakking.Optimizer="",CubeIQRequestBuilder:APPS.Verpakking.CubeIQRequestBuilder +DoosFactory:APPS.Verpakking.DoosFactory="",DoosAanvuller:APPS.Verpakking.DoosAanvuller="",Optimizer:APPS.Verpakking.Optimizer="",CubeIQRequestBuilder:APPS.Verpakking.CubeIQRequestBuilder="" 1 1 %Status @@ -131,13 +141,15 @@ Set ..Logger = ##class(vhLib.Logger).%New("Optimaliseer bon orgalux") Set ..BoxDataRepository = ##class(APPS.Verpakking.BoxDataRepository).%New() Set ..SnijDataRepository = ##class(APPS.Verpakking.SnijDataRepository).%New() - Set ..ProductAPI = ##class(DOM.DomeinContext).Instance().GeefProductAPI() + Set ..ProductAPI = ##class(DOM.PM.impl.ProductAPI).%New() + Set ..ProductRolAPI = ##class(DOM.PM.impl.ProductRolAPIimpl).%New() + Set ..OrderAPI = ##class(DOM.VKP.impl.DataM.DataMOrderAPI).%New() Set ..DateTimeAPI = ##class(TECH.Context).Instance().GeefDateTimeAPI() Set ..DoosFactory = $$$Inject(DoosFactory, ##class(APPS.Verpakking.DoosFactory).%New()) Set ..DoosAanvuller = $$$Inject(DoosAanvuller, ##class(APPS.Verpakking.DoosAanvuller).%New()) Set ..Optimizer = $$$Inject(Optimizer, ##class(APPS.Verpakking.Optimizer).%New()) Set ..CubeIQRequestBuilder = $$$Inject(CubeIQRequestBuilder, ##class(APPS.Verpakking.CubeIQRequestBuilder).%New()) - Set ..TeGroepoerenVolumes = ##class(TECH.ListUtils).ListbuildToList($ListBuild("TAOR indelingen||Verzameldoos voor losse elastieken||1", "TAOR indelingen||Verzameldoos voor LEDERverdeling||1", "TAOR indelingen||Verzameldoos voor Viltclips||1", "TAOR indelingen||Verzameldoos voor leder siliconen banden||1", "TAOR indelingen||verzameldoos voor ringen||1")) + Set ..TeGroeperenVolumes = ##class(TECH.ListUtils).ListbuildToList($ListBuild("TAOR indelingen||Verzameldoos voor losse elastieken||1", "TAOR indelingen||Verzameldoos voor LEDERverdeling||1", "TAOR indelingen||Verzameldoos voor Viltclips||1", "TAOR indelingen||Verzameldoos voor leder siliconen banden||1", "TAOR indelingen||verzameldoos voor ringen||1")) Quit $$$OK ]]> @@ -345,7 +357,7 @@ Set NummerDoos = NummerDoos + 1 } - If ((BoxDataId = "OL||Antislipmat groep||1") || (##class(TECH.ListUtils).Contains(..TeGroepoerenVolumes, BoxDataId))) { + If ((BoxDataId = "OL||Antislipmat groep||1") || (##class(TECH.ListUtils).Contains(..TeGroeperenVolumes, BoxDataId))) { Do ..MaakSnijDataVoorGegroepeerdeProducten(OrigineleBoxDataLijst, SnijDataDoos, OptiDataDoos, BoxDataId) Set NummerDoos = NummerDoos + 1 } @@ -391,9 +403,10 @@ #dim AantalDozenVanEersteProduct As %Decimal = +CubeIQResponse.cubeiq.blocks.block.GetAt(1).quantity #dim ProductIdEersteProduct As %String = $Piece(CubeIQResponse.cubeiq.blocks.block.GetAt(1).productid, "||", 2) #dim IsProductEenOrgaluxBasispakket As %Boolean = $$$False + #dim AdministratiefProduct As DOM.PM.AdministratiefProduct = ..ProductRolAPI.GeefAdministratiefProduct(ProductIdEersteProduct) If (..ProductAPI.BestaatProduct(ProductIdEersteProduct)) { - Set IsProductEenOrgaluxBasispakket = (##class(DOM.DomeinContext).Instance().GeefProductRolAPI().GeefAdministratiefProduct(ProductIdEersteProduct).GeefClassificatieKnoop().GeefID() = ##class(DOM.PM.enu.Classificatie).OrgaluxBasispakket()) + Set IsProductEenOrgaluxBasispakket = (AdministratiefProduct.GeefClassificatieKnoop().GeefID() = ##class(DOM.PM.enu.Classificatie).OrgaluxBasispakket()) } If ((AantalNodigeOverdozenVoorBon = 1) && (AantalProductenInBon = 1) && (AantalDozenVanEersteProduct = 1) && $$$Not(IsProductEenOrgaluxBasispakket)) { @@ -466,7 +479,7 @@ Set OptiData = ..MaakOptiData(BoxDataMetID, Product, OptiDataParent, OptiDataBoxParent) #dim SnijData As DS.Prod.OptiBox.SnijData = ..MaakSnijData(BoxDataMetID, Sequentie, OptiData, Product, SnijDataParent, SnijDataBoxParent, ProductAantal, AfbeeldingCode) - If ($$$Not(##class(TECH.ListUtils).Contains(..TeGroepoerenVolumes, SnijData.BoxData.%Id())) && $$$Not(BoxDataMetID.Meta.OptiType = "VOLUME")) { + If ($$$Not(##class(TECH.ListUtils).Contains(..TeGroeperenVolumes, SnijData.BoxData.%Id())) && $$$Not(BoxDataMetID.Meta.OptiType = "VOLUME")) { #dim SnijDef As DS.Prod.OptiBox.sub.emSnijDef = ..MaakSnijDef(BoxDataMetID) Do SnijData.SnijDefs.SetAt(SnijDef, ##class(APPS.Verpakking.enu.MachineID).VH()) @@ -632,14 +645,14 @@ Set SnijData.BoxParent = SnijDataParent } - If ((BoxDataMetID.VolumeVan = "") && $$$Not(##class(TECH.ListUtils).Contains(..TeGroepoerenVolumes, SnijData.BoxData.%Id())) && $$$Not(BoxDataMetID.Meta.OptiType = "VOLUME")) { + If ((BoxDataMetID.VolumeVan = "") && $$$Not(##class(TECH.ListUtils).Contains(..TeGroeperenVolumes, SnijData.BoxData.%Id())) && $$$Not(BoxDataMetID.Meta.OptiType = "VOLUME")) { Set SnijData.BoxSelect = BoxDataMetID.Meta.BoxSelect.GetAt(1).Naam } If $$$Not(BoxDataMetID.DeelVan = "") { Set SnijData.BoxUsage = "SUB" Set SnijData.PPSPrioriteit = 40 - } ElseIf ($$$Not(BoxDataMetID.VolumeVan = "") || (##class(TECH.ListUtils).Contains(..TeGroepoerenVolumes, SnijData.BoxData.%Id())) || (BoxDataMetID.Meta.OptiType = "VOLUME")) { + } ElseIf ($$$Not(BoxDataMetID.VolumeVan = "") || (##class(TECH.ListUtils).Contains(..TeGroeperenVolumes, SnijData.BoxData.%Id())) || (BoxDataMetID.Meta.OptiType = "VOLUME")) { Set SnijData.BoxUsage = "VOL" Set SnijData.PPSPrioriteit = 1 } Else { @@ -1012,7 +1025,8 @@ #dim ProductId As %Integer = BoxData.ObjRef If (..ProductAPI.BestaatProduct(ProductId)) { - #dim IsProductEenOrgaluxBasispakket As %Boolean = (##class(DOM.DomeinContext).Instance().GeefProductRolAPI().GeefAdministratiefProduct(ProductId).GeefClassificatieKnoop().GeefID() = ##class(DOM.PM.enu.Classificatie).OrgaluxBasispakket()) + #dim AdministratiefProduct As DOM.PM.AdministratiefProduct = ..ProductRolAPI.GeefAdministratiefProduct(ProductId) + #dim IsProductEenOrgaluxBasispakket As %Boolean = (AdministratiefProduct.GeefClassificatieKnoop().GeefID() = ##class(DOM.PM.enu.Classificatie).OrgaluxBasispakket()) If (IsProductEenOrgaluxBasispakket) { Set BoxData.Breedte = BoxData.Breedte + 10 @@ -1059,7 +1073,7 @@ Do GegroepeerdeBoxDataLijst.Insert(BoxDataVoorGegroepeerdeMatten) } - #dim GroepenIterator As TECH.Iterator = ##class(TECH.ListIterator).%New(..TeGroepoerenVolumes) + #dim GroepenIterator As TECH.Iterator = ##class(TECH.ListIterator).%New(..TeGroeperenVolumes) While GroepenIterator.HasNext() { #dim Groep As %String = GroepenIterator.Next() #dim BoxDataVoorGegroep As DS.Prod.OptiBox.BoxDataMetID = ..GeefBoxDataVoorGroep(BoxDataLijst, Groep) @@ -1073,7 +1087,7 @@ If $$$Not(BoxData.VolumeVan = "") { - If ($$$Not(##class(TECH.StringUtils).Equals(BoxData.VolumeVan.%Id(), "OL||Antislipmat groep||1")) && $$$Not(##class(TECH.ListUtils).Contains(..TeGroepoerenVolumes, BoxData.VolumeVan.%Id()))) { + If ($$$Not(##class(TECH.StringUtils).Equals(BoxData.VolumeVan.%Id(), "OL||Antislipmat groep||1")) && $$$Not(##class(TECH.ListUtils).Contains(..TeGroeperenVolumes, BoxData.VolumeVan.%Id()))) { Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.UnimplementedException).%New("Groepering "_ BoxData.VolumeVan.%Id() _"' is nog niet geïmplementeerd bij de optimalisatie van de verpakking van de orgalux bonnen. Dit zorgt voor problemen bij bon " _..BonId _".")) } } Else { @@ -1197,7 +1211,7 @@ #dim KLNr As %String =$P($G(^KU1(BonID,"F")),"\") #dim FakSoort As %String =$S($D(^KUL(KLNr,"F",BonID)):"F",1:"G") - #dim Bon As DOM.VKP.Bon = ##class(DOM.DomeinContext).Instance().GeefOrderAPI().GeefBon(BonID, FakSoort) + #dim Bon As DOM.VKP.Bon = ..OrderAPI.GeefBon(BonID, FakSoort) Quit Bon.GeefTypeBonLijnIterator( ##class(DOM.VKP.enu.BonLijnType).Product() ) ]]> Index: APPS/Verpakking/DoosService.cls.xml =================================================================== diff -u -r72242 -r72488 --- APPS/Verpakking/DoosService.cls.xml (.../DoosService.cls.xml) (revision 72242) +++ APPS/Verpakking/DoosService.cls.xml (.../DoosService.cls.xml) (revision 72488) @@ -122,8 +122,6 @@ #dim RequestXml as %String Do SnijRequest.XMLExportToString(.RequestXml) - - //Set ^LogKartonOpdrachten2(ProductId, "VH Doos", $Increment(^LogKartonOpdrachten2)) = RequestXml } } } Index: APPS/Verpakking/BoxDataRepository.cls.xml =================================================================== diff -u -r72241 -r72488 --- APPS/Verpakking/BoxDataRepository.cls.xml (.../BoxDataRepository.cls.xml) (revision 72241) +++ APPS/Verpakking/BoxDataRepository.cls.xml (.../BoxDataRepository.cls.xml) (revision 72488) @@ -42,6 +42,7 @@ -DOM.PM.ProductAPI +DOM.PM.impl.ProductAPI 1 @@ -28,7 +28,7 @@ %Status 1 @@ -38,8 +38,8 @@ BoxDataLijst:%ListOfObjects,BreedteOverdoos:%Decimal,DiepteOverdoos:%Decimal,HoogteOverdoos:%Decimal,Partialloadonfloor:%Boolean=0,MinFillPercentage:%Decimal=0 APPS.Verpakking.dto.CubeIQ.Request -Breedte:%Decimal,Diepte:%Decimal,Hoogte:%Decimal,Partialloadonfloor:%Boolean,MinFillPercentage:%Decimal=0 +Breedte:%Decimal,Diepte:%Decimal,Hoogte:%Decimal,Partialloadonfloor:%Boolean=0,MinFillPercentage:%Decimal=0 1 APPS.Verpakking.dto.CubeIQ.Request.Containers ObjRef:%String 1 -TECH.Integer +%String