Index: APPS/Verpakking/OrgaluxBonOptimizer.cls.xml =================================================================== diff -u -r72244 -r72246 --- APPS/Verpakking/OrgaluxBonOptimizer.cls.xml (.../OrgaluxBonOptimizer.cls.xml) (revision 72244) +++ APPS/Verpakking/OrgaluxBonOptimizer.cls.xml (.../OrgaluxBonOptimizer.cls.xml) (revision 72246) @@ -141,33 +141,39 @@ BonId:%String @@ -205,11 +211,11 @@ } } - Set Hoogte = (Hoogte + 180) + Set Hoogte = (Hoogte + 80) } - Set Diepte = (Diepte + 180) + Set Diepte = (Diepte + 80) } - Set Breedte = (Breedte + 180) + Set Breedte = (Breedte + 80) } } @@ -295,9 +301,9 @@ If (Block.containerseqno = NummerOverdoos) { #dim BoxDataId As %String = $Piece(Block.productid, "-", 1) - #dim BoxData As DS.Prod.OptiBox.BoxData = ..BoxDataRepository.GeefBoxDataViaID(BoxDataId) + #dim BoxData As DS.Prod.OptiBox.BoxDataMetID = ..GeefOrigineleBoxDataUitLijst(BoxDataLijst, BoxDataId) - #dim AantalExtraDelenVanVerpakking As %Integer = ..BoxDataRepository.GeefAantalDelenVanBoxData(BoxData.%Id()) + #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" @@ -313,7 +319,7 @@ While (Block.quantity > 0) { Set SnijDataDoos = ..MaakMetaDataVoorSnijOpdracht(BoxData, .OptiDataDoos, 1, NummerDoos, BoxData.ObjRef, "", SnijDataOverdoosBodem, OptiDataOverdoosBodem, "", AfbeeldingCodeDoos) - #dim DelenVanBoxDataIterator As TECH.Iterator = ..BoxDataRepository.ZoekDeelVanBoxDataViaId(BoxData.%Id()) + #dim DelenVanBoxDataIterator As TECH.Iterator = ..BoxDataRepository.ZoekDeelVanBoxDataViaId(BoxDataId) While DelenVanBoxDataIterator.HasNext() { #dim DeelVanBoxData As DS.Prod.OptiBox.BoxData = DelenVanBoxDataIterator.Next() #dim OptiDataInnerDoos As DS.Prod.OptiBox.OptiData = "" @@ -332,26 +338,46 @@ ]]> + +BoxDataLijst:%ListOfObjects,BoxDataID:%String +1 +DS.Prod.OptiBox.BoxDataMetID + + + 1 DS.Prod.OptiBox.SnijData - + -BoxData:DS.Prod.OptiBox.BoxData +BoxDataMetID:DS.Prod.OptiBox.BoxDataMetID 1 DS.Prod.OptiBox.sub.emSnijDef -BoxData:DS.Prod.OptiBox.BoxData +BoxDataMetID:DS.Prod.OptiBox.BoxDataMetID 1 APPS.Verpakking.dto.Doos @@ -466,7 +492,7 @@ Set SnijData.Breedte = (Overdoos.overallwidth + 10) //Extra cm zodat dozen makkelijk in overdoos geraken Set SnijData.Hoogte = Overdoos.overallheight Set SnijData.CreatieTijdStip = ..GeefHuidigeTimeStamp() - Do ##class(Tools.Wlip).%New(110).ObjToText(OptiData) + If (OptiData = "") { Set OptiData = ##class(DS.Prod.OptiBox.OptiData).%New() Set OptiData.BoxData = BoxData @@ -477,11 +503,11 @@ Set OptiData.ProductAantal = 1 Set OptiData.DoosAantal = 1 Set OptiData.Status = "L" - Do ##class(Tools.Wlip).%New(110).ObjToText(OptiData) + #dim SaveStatus As %Status = OptiData.%Save() Do ##class(TECH.Exceptions.StatusException).ThrowIndienNietOK(SaveStatus,"Het bewaren van OptiData voor de overdozen is niet gelukt.") } - Do ##class(Tools.Wlip).%New(110).String("Na save?") + Set SnijData.OptiData = OptiData Set SnijData.ObjLijnRef = "*" Set SnijData.ObjRef = ..BonId @@ -497,7 +523,7 @@ Set SnijData.SnijMachineID = ##class(APPS.Verpakking.enu.MachineID).VH() Set SnijData.Status = "O" Set SnijData.Simulate = $$$False - + Set SaveStatus = SnijData.%Save() Do ##class(TECH.Exceptions.StatusException).ThrowIndienNietOK(SaveStatus,"Het bewaren van SnijData voor de overdozen in MaakSnijData is niet gelukt.") Set SnijData.BoxDeelVan = $Select(SnijDataBodem = "":SnijData, 1: SnijDataBodem) @@ -510,13 +536,13 @@ -BoxData:DS.Prod.OptiBox.BoxData,Sequentie:%Integer,OptiData:DS.Prod.OptiBox.OptiData,Product:DOM.PM.Product,SnijDataParent:DS.Prod.OptiBox.SnijData,SnijDataBoxParent:DS.Prod.OptiBox.SnijData,ProductAantal:%Integer,AfbeeldingCode:%String="" +BoxDataMetID:DS.Prod.OptiBox.BoxDataMetID,Sequentie:%Integer,OptiData:DS.Prod.OptiBox.OptiData,Product:DOM.PM.Product,SnijDataParent:DS.Prod.OptiBox.SnijData,SnijDataBoxParent:DS.Prod.OptiBox.SnijData,ProductAantal:%Integer,AfbeeldingCode:%String="" 1 DS.Prod.OptiBox.SnijData 0) { @@ -605,13 +631,13 @@ -BoxData:DS.Prod.OptiBox.BoxData,Product:DOM.PM.Product="",OptiDataParent:DS.Prod.OptiBox.OptiData="",OptiDataBoxParent:DS.Prod.OptiBox.OptiData="" +BoxDataMetID:DS.Prod.OptiBox.BoxDataMetID,Product:DOM.PM.Product="",OptiDataParent:DS.Prod.OptiBox.OptiData="",OptiDataBoxParent:DS.Prod.OptiBox.OptiData="" 1 DS.Prod.OptiBox.OptiData 0 : BoxData.Aantal, 1:1) + Set OptiData.DoosAantal = $Select(BoxDataMetID.Aantal > 0 : BoxDataMetID.Aantal, 1:1) Set OptiData.Status = "L" #dim SaveStatus As %Status = OptiData.%Save() @@ -682,7 +708,7 @@ #dim HttpRequest As %Net.HttpRequest = ##class(%Net.HttpRequest).%New() #dim AfbeeldingUrl As %String = "/"_ ..JobId_"_Overdoos_"_..BonId _"_default_" _ "01_001.jpg" - Set HttpRequest.Server = ##class(TECH.Config.ConfigMgr).Instance().GetString("APPS.Verpakking.OrgaluxBonOptimizer.ImageURL") //"cubeiq01-dev_img.vanhoecke.be" + Set HttpRequest.Server = ##class(TECH.Config.ConfigMgr).Instance().GetString("APPS.Verpakking.OrgaluxBonOptimizer.ImageURL") Set HttpRequest.Https = 1 Set HttpRequest.SSLConfiguration = "CubeIQ" Set HttpRequest.Timeout = 4 @@ -705,7 +731,7 @@ #dim JSONStream = ##class(%Stream.GlobalBinary).%New() Do JSONStream.Write(RequestString) - //Do ..Logger.Debug("BlackBox request", JSONStream) + ;Do ..Logger.Debug("BlackBox request", JSONStream) Set HttpRequest = ##class(%Net.HttpRequest).%New() Set HttpRequest.Server = ##class(TECH.Config.ConfigMgr).Instance().GetString("APPS.Verpakking.OrgaluxBonOptimizer.BlackBoxURL") @@ -803,7 +829,7 @@ #dim GrondOppervlakKleinerDanHalvePalletFactor As %Integer = $Select(((..GrootsteDimensieGrondvlak < (..#MaximumVerpakkingDiepteVoorEuropallet)) && (..TweedeGrootsteDimensieGrondvlak < (..#MaximumVerpakkingBreedteVoorEuropallet / 2))):-200, 1:0) #dim VierkantigheidFactor As %Integer = ##class(TECH.Math).Max(##class(TECH.Math).Max(##class(TECH.Math).Abs(Overdoos.overalllength - Overdoos.overallwidth), ##class(TECH.Math).Abs(Overdoos.overalllength - Overdoos.overallheight)), ##class(TECH.Math).Abs(Overdoos.overallheight - Overdoos.overallwidth)) * 0.5 #dim HoogteKleinerDan33cm As %Integer = $Select(Overdoos.overallheight < 330:-100, 1:0) - + //TODO //Score is nog te bekijken op de optboxbig rechtstreeks ;set t = VolumeFactor + GrondOppervlakFactor + StabiliteitFactor + TotaleKartonOppervlakteFactor + GrondOppervlakKleinerDanHalvePalletFactor + VierkantigheidFactor + HoogteKleinerDan33cm ;Do ##class(Tools.Wlip).%New(110).String(t _ " Vol " _VolumeFactor _" GrondOpp "_ GrondOppervlakFactor _" Stab "_ StabiliteitFactor _" TotKartonOpp "_ TotaleKartonOppervlakteFactor _" GrondOppKleinerDanHalvePlt "_ GrondOppervlakKleinerDanHalvePalletFactor _" Vierkantigheid "_ VierkantigheidFactor_" Hoogte<330 "_ HoogteKleinerDan33cm) @@ -877,7 +903,6 @@ While BoxDataIterator.HasNext() { #dim BoxData As DS.Prod.OptiBox.BoxDataMetID = BoxDataIterator.Next() - #dim BoxDataGroep As DS.Prod.OptiBox.BoxData If $$$Not(BoxData.VolumeVan = "") { Index: APPS/Verpakking/CubeIQRequestBuilder.cls.xml =================================================================== diff -u -r72236 -r72246 --- APPS/Verpakking/CubeIQRequestBuilder.cls.xml (.../CubeIQRequestBuilder.cls.xml) (revision 72236) +++ APPS/Verpakking/CubeIQRequestBuilder.cls.xml (.../CubeIQRequestBuilder.cls.xml) (revision 72246) @@ -86,8 +86,8 @@ ;Set CubeIQProduct.weight = ..GeefGewichtVanProduct(BoxData.ObjRef) Set CubeIQProduct.turnable = $$$True Set CubeIQProduct.flatok = $$$True - Set CubeIQProduct.sideupok = $Select(BoxData.Rotatie = "":$$$True, 1:##class(TECH.StringUtils).Contains(BoxData.Rotatie, "Y")) //kantelbaar op zijkant - Set CubeIQProduct.endupok = $Select(BoxData.Rotatie = "":$$$True, 1:##class(TECH.StringUtils).Contains(BoxData.Rotatie, "Y")) //kantelbaar op achterkant + Set CubeIQProduct.sideupok = $$$True //$Select(BoxData.Rotatie = "":$$$True, 1:##class(TECH.StringUtils).Contains(BoxData.Rotatie, "Y")) //kantelbaar op zijkant + Set CubeIQProduct.endupok = $$$True //$Select(BoxData.Rotatie = "":$$$True, 1:##class(TECH.StringUtils).Contains(BoxData.Rotatie, "Y")) //kantelbaar op achterkant Set CubeIQProduct.bottomonly = $$$False //(##class(TECH.StringUtils).Contains(BoxData.Positie, "O") && $$$Not(##class(TECH.StringUtils).Contains(BoxData.Positie, "B"))) Set CubeIQProduct.toponly = $$$False //(##class(TECH.StringUtils).Contains(BoxData.Positie, "B") && $$$Not(##class(TECH.StringUtils).Contains(BoxData.Positie, "O")))