Index: APPS/Verpakking/OrgaluxBonOptimizer.cls.xml =================================================================== diff -u -r72263 -r72266 --- APPS/Verpakking/OrgaluxBonOptimizer.cls.xml (.../OrgaluxBonOptimizer.cls.xml) (revision 72263) +++ APPS/Verpakking/OrgaluxBonOptimizer.cls.xml (.../OrgaluxBonOptimizer.cls.xml) (revision 72266) @@ -147,24 +147,24 @@ Set ..CubeIQRequestBuilder.ContainerId = ..#ContainerId Set ..CubeIQRequestBuilder.LoadId = ..#ContainerId _ "_" _ ..BonId - #dim OrigineleBoxDataLijst As List of DS.Prod.OptiBox.BoxData = ..GeefBoxDataVoorBonMetNesting(BonId) - #dim BoxDataLijstVanTeMakenKartons As List of DS.Prod.OptiBox.BoxData = ..GroepeerBoxDataIndienNodig(OrigineleBoxDataLijst) - #dim BoxDataLijstVanTeStapelenDozen As List of DS.Prod.OptiBox.BoxData = ..VerwijderNietTeStapelenKartons(BoxDataLijstVanTeMakenKartons) - Do ..BepaalGrootsteGrondOppervlak(BoxDataLijstVanTeStapelenDozen) + #dim OrigineleBoxDataLijst As List of DS.Prod.OptiBox.BoxDataMetID = ..GeefBoxDataVoorBonMetNesting(BonId) + #dim BoxDataLijstVanTeMakenKartons As List of DS.Prod.OptiBox.BoxDataMetID = ..GroepeerBoxDataIndienNodig(OrigineleBoxDataLijst) + #dim BoxDataLijstVanTeStapelenDozen As List of DS.Prod.OptiBox.BoxDataMetID = ..VerwijderNietTeStapelenKartons(BoxDataLijstVanTeMakenKartons) + #dim BoxDataLijstVanTeStapelenDozenVergroot As List of DS.Prod.OptiBox.BoxDataMetID = ..VergrootDimensiesVoorKartonsMetBufferzone(BoxDataLijstVanTeStapelenDozen) + Do ..BepaalGrootsteGrondOppervlak(BoxDataLijstVanTeStapelenDozenVergroot) - #dim CubeIQResponse As APPS.Verpakking.dto.CubeIQ.Response = ..GeefBesteStapeling(BoxDataLijstVanTeStapelenDozen) + #dim CubeIQResponse As APPS.Verpakking.dto.CubeIQ.Response = ..GeefBesteStapeling(BoxDataLijstVanTeStapelenDozenVergroot) Set ..JobId = $Piece(CubeIQResponse.cubeiq.loads.load.GetAt(1).jobid, "-", 1) - Do ##class(Tools.Wlip).%New(110).String("Best run: "_..JobId) + If $$$Not(..ZijnAfbeeldingenGegenereerdVoorBesteStapeling()) { #dim FoutOmschrijving As %String = "Geen afbeelding gevonden voor optimale stapeling gevonden voor bon "_ ..BonId _" met JobId "_ ..JobId _ ". Hierdoor is de optimalisatie van de bon ook niet afgerond. Probeer manueel de stapeling van de bon opnieuw te optimaliseren." Do ..Logger.ErrorMail("Optimaliseer bon orgalux", FoutOmschrijving) Set Exception = ##class(TECH.Exceptions.DataNotFoundException).%New(FoutOmschrijving) Do ##class(TECH.ExceptionHandler).Throw(Exception) } - Do ..SnijDataRepository.VerwijderViaBonId(..BonId) + Do ..SnijDataRepository.VerwijderViaBonId(..BonId) - Do ..ProcessCubeIQResponse(CubeIQResponse, BoxDataLijstVanTeMakenKartons, OrigineleBoxDataLijst) Do ..MaakOptiboxQueue() @@ -185,7 +185,7 @@ #dim BesteStapeling As APPS.Verpakking.dto.CubeIQ.Response = "" Set ArrayVanResultaten = ##class(%ArrayOfObjects).%New() #dim MinimumAantalPallettenVoorBon As %Integer = ..BepaalMinimumAantalPallettenVoorBon(BoxDataLijstVanTeStapelenDozen) - + //If aantal pakjes = 1 en geen basispakket.. heel weinig iteraties maar doen If (MinimumAantalPallettenVoorBon = 1) { #dim PartialLoadOnFloor As Integer = 0 For PartialLoadOnFloor=0:1:1 { @@ -301,19 +301,22 @@ If (Block.containerseqno = NummerOverdoos) { #dim BoxDataId As %String = $Piece(Block.productid, "-", 1) #dim BoxData As DS.Prod.OptiBox.BoxDataMetID = ..GeefOrigineleBoxDataUitLijst(BoxDataLijstVanTeMakenKartons, BoxDataId) - #dim AantalExtraDelenVanVerpakking As %Integer = ..BoxDataRepository.GeefAantalDelenVanBoxData(BoxData.OrigineleBoxDataID) #dim OptiDataDoos As DS.Prod.OptiBox.OptiData = "" #dim SnijDataDoos As DS.Prod.OptiBox.SnijData #dim AfbeeldingCodeDoos As %String = ..GeefGetalAangevuldMetVoorloopNullen(NummerOverdoos, 2) _"_"_ ..GeefGetalAangevuldMetVoorloopNullen(NummerAfbeelding, 3)_".jpg" If (AantalExtraDelenVanVerpakking = 0) { - Set SnijDataDoos = ..MaakMetaDataVoorSnijOpdracht(BoxData, .OptiDataDoos, Block.quantity, NummerDoos, BoxData.ObjRef, "", SnijDataOverdoosBodem, OptiDataOverdoosBodem, "", AfbeeldingCodeDoos) + For Index=1:1:Block.quantity { + Set AfbeeldingCodeDoos = ..GeefGetalAangevuldMetVoorloopNullen(NummerOverdoos, 2) _"_"_ ..GeefGetalAangevuldMetVoorloopNullen(NummerAfbeelding, 3)_".jpg" + Set SnijDataDoos = ..MaakMetaDataVoorSnijOpdracht(BoxData, .OptiDataDoos, 1, NummerDoos, BoxData.ObjRef, "", SnijDataOverdoosBodem, OptiDataOverdoosBodem, "", AfbeeldingCodeDoos) + Set NummerDoos = NummerDoos + 1 + } If (BoxDataId = "OL||Antislipmat groep||1") { Do ..MaakSnijDataVoorGegroepeerdeMatten(OrigineleBoxDataLijst, SnijDataDoos, OptiDataDoos) + Set NummerDoos = NummerDoos + 1 } - Set NummerDoos = NummerDoos + 1 } Else { While (Block.quantity > 0) { Set SnijDataDoos = ..MaakMetaDataVoorSnijOpdracht(BoxData, .OptiDataDoos, 1, NummerDoos, BoxData.ObjRef, "", SnijDataOverdoosBodem, OptiDataOverdoosBodem, "", AfbeeldingCodeDoos) @@ -483,7 +486,7 @@ Set SnijData = ##class(DS.Prod.OptiBox.SnijData).%New() Set SnijData.BoxData = BoxData - Set SnijData.FilledImage = "https://" _ ##class(TECH.Config.ConfigMgr).Instance().GetString("APPS.Verpakking.OrgaluxBonOptimizer.ImageURL") _"/" _ ..JobId_"_Overdoos_"_..BonId _"_default_" _ AfbeeldingCode + Set SnijData.FilledImage = "http://" _ ##class(TECH.Config.ConfigMgr).Instance().GetString("APPS.Verpakking.OrgaluxBonOptimizer.ImageURL") _"/" _ ..JobId_"_Overdoos_"_..BonId _"_default_" _ AfbeeldingCode Set SnijData.BoxSelect = BoxData.Meta.BoxSelect.GetAt(1).Naam If $$$Not(SnijDataBodem = "") { @@ -545,7 +548,7 @@ Set SnijData.BoxData = $Select(BoxDataMetID.%Id() = "": ..BoxDataRepository.GeefBoxDataViaID(BoxDataMetID.OrigineleBoxDataID), 1 : BoxDataMetID) If $$$Not(AfbeeldingCode = "") { - Set SnijData.StapelImage = "https://" _ ##class(TECH.Config.ConfigMgr).Instance().GetString("APPS.Verpakking.OrgaluxBonOptimizer.ImageURL") _"/" _ ..JobId_"_Overdoos_"_..BonId _"_default_" _ AfbeeldingCode + Set SnijData.StapelImage = "http://" _ ##class(TECH.Config.ConfigMgr).Instance().GetString("APPS.Verpakking.OrgaluxBonOptimizer.ImageURL") _"/" _ ..JobId_"_Overdoos_"_..BonId _"_default_" _ AfbeeldingCode } If $$$Not(SnijDataParent = "") { @@ -710,7 +713,7 @@ #dim AfbeeldingUrl As %String = "/"_ ..JobId_"_Overdoos_"_..BonId _"_default_" _ "01_001.jpg" Set HttpRequest.Server = ##class(TECH.Config.ConfigMgr).Instance().GetString("APPS.Verpakking.OrgaluxBonOptimizer.ImageURL") - Set HttpRequest.Https = 1 + Set HttpRequest.Https = 0 Set HttpRequest.SSLConfiguration = "CubeIQ" Set HttpRequest.Timeout = 4 #dim StatusCode As %Status = HttpRequest.Get(AfbeeldingUrl) @@ -868,6 +871,41 @@ ]]> + +BoxDataLijst:%ListOfObjects +1 +%ListOfObjects + 1) { + Set BoxData.Breedte = BoxData.Breedte + BoxData.Params.GetAt("FS").Waarde + } Else { //Default + Set BoxData.Breedte = BoxData.Breedte + 60 + } + + If (BoxData.Params.GetAt("RT").Waarde > 1) { + Set BoxData.Breedte = BoxData.Breedte + BoxData.Params.GetAt("RS").Waarde + } Else { //Default + Set BoxData.Breedte = BoxData.Breedte + 60 + } + } + + Do GegroepeerdeBoxDataLijst.Insert(BoxData) + } + + Quit GegroepeerdeBoxDataLijst +]]> + + BoxDataLijst:%ListOfObjects 1 @@ -931,7 +969,6 @@ #dim Lijn As DOM.VKP.ProductOrderlijn = BonLijnIterator.Next() #dim PRNr As %Integer = Lijn.GeefProductID() #dim Qty As %Integer = Lijn.GeefAantal() - Do ##class(Tools.Wlip).%New(110).String(PRNr _" "_ Qty) #dim BoxDataIterator As TECH.Iterator = ..BoxDataRepository.ZoekBoxDataViaProductId(PRNr) while BoxDataIterator.HasNext() { @@ -1007,6 +1044,11 @@ Set BoxDataMetID.Params = BoxData.Params Set BoxDataMetID.VolumeVan = BoxData.VolumeVan + If (BoxData.%ClassName(1) = "DS.Prod.OptiBox.BoxDataMetID") { + Set BoxDataMetID.AantalProductenGenest = BoxData.AantalProductenGenest + Set BoxDataMetID.OrigineleBoxDataID = BoxData.OrigineleBoxDataID + } + Quit BoxDataMetID ]]>