Index: APPS/Verpakking/OrgaluxBonOptimizer.cls.xml =================================================================== diff -u -r72320 -r72325 --- APPS/Verpakking/OrgaluxBonOptimizer.cls.xml (.../OrgaluxBonOptimizer.cls.xml) (revision 72320) +++ APPS/Verpakking/OrgaluxBonOptimizer.cls.xml (.../OrgaluxBonOptimizer.cls.xml) (revision 72325) @@ -5,7 +5,7 @@ %Integer -1170 +1173 @@ -162,6 +162,7 @@ BoxDataLijstVanTeStapelenDozen:%ListOfObjects +1 APPS.Verpakking.dto.CubeIQ.Response BoxDataLijstVanTeStapelenDozen:%ListOfObjects +1 %Integer dan de toegelaten " _ ..#MaximumVerpakkingBreedteVoorEuropallet _ ". Dit dient manueel te worden nagekeken zodat dit kan worden opgelost en dit niet meer voorvalt." + Do ..Logger.ErrorMail("Bepaal minimum aantal palletten", FoutOmschrijving) + Set Exception = ##class(TECH.Exceptions.InvalidResponseException).%New(FoutOmschrijving) + Do ##class(TECH.ExceptionHandler).Throw(Exception) } Set MinimumAantalPallettenVoorBon = CubeIQResponse.cubeiq.loadedcontainers.loadedcontainer.Count() If (MinimumAantalPallettenVoorBon = 0) { - #dim FoutOmschrijving As %String = "Het minimum aantal palletten voor bon " _ ..BonId _ " is 0. Dit kan niet kloppen en moet manueel worden nagekeken." + Set FoutOmschrijving = "Het minimum aantal palletten voor bon " _ ..BonId _ " is 0. Dit kan niet kloppen en moet manueel worden nagekeken." Do ..Logger.ErrorMail("Bepaal minimum aantal palletten", FoutOmschrijving) Set Exception = ##class(TECH.Exceptions.DataNotFoundException).%New(FoutOmschrijving) Do ##class(TECH.ExceptionHandler).Throw(Exception) @@ -410,7 +422,7 @@ } #dim BoxDataOverdoosAangevuld As DS.Prod.OptiBox.BoxDataMetID = ..CopyBoxData(BoxDataOverdoos) - Set BoxDataOverdoosAangevuld.Breedte = Overdoos.overallwidth + Set BoxDataOverdoosAangevuld.Breedte = $Select(Overdoos.overallwidth > 1170 : 1170, 1: Overdoos.overallwidth) //Indien overdoos toch net groter is dan 1170, waarde naar 1170 zetten, dan spant het maar een beetje ;) Set BoxDataOverdoosAangevuld.Diepte = Overdoos.overalllength Set BoxDataOverdoosAangevuld.Hoogte = Overdoos.overallheight #dim SnijData As DS.Prod.OptiBox.SnijData = ..MaakSnijDataVoorOverdoos(BoxDataOverdoos, Overdoos, .OptiData, AfbeeldingCode, SnijDataParent, IsOverdoosNodig) @@ -758,7 +770,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") @@ -1038,7 +1050,13 @@ Set BoxData.Breedte = ..CalcMetDefault(1, BoxData.BreedteExec, .Params) Set BoxData.Diepte = ..CalcMetDefault(1, BoxData.DiepteExec, .Params) Set BoxData.Hoogte = ..CalcMetDefault(1, BoxData.HoogteExec, .Params) - Do BoxDataLijst.Insert(BoxData) + + If ((##class(TECH.Math).Max(BoxData.Breedte, BoxData.Diepte) + (3 * 6.7)) > (..#MaximumVerpakkingBreedteVoorEuropallet )) && ((##class(TECH.Math).Min(BoxData.Breedte, BoxData.Diepte) + (3 * 6.7)) > ..#MaximumVerpakkingDiepteVoorEuropallet) { // 3 * 6.7 is svoor dikte kartonverpakking in rekening te brengen + Do ..Logger.Debug("PastProductOpEuropallet", "Genest product "_PRNr_" past niet op een europallet voor bon " _ BonID_". Er zijn " _ Aantal _" producten genest in deze verpakking.") + } Else { + Do BoxDataLijst.Insert(BoxData) + } + Set BoxData = ..CopyBoxData(BoxData) } } Else { @@ -1049,7 +1067,7 @@ Set BoxData.Diepte = ..CalcMetDefault(1, BoxData.DiepteExec, .Params) Set BoxData.Hoogte = ..CalcMetDefault(1, BoxData.HoogteExec, .Params) - If (##class(TECH.Math).Max(BoxData.Breedte, BoxData.Diepte) > ..#MaximumVerpakkingBreedteVoorEuropallet) && (##class(TECH.Math).Min(BoxData.Breedte, BoxData.Diepte) > ..#MaximumVerpakkingDiepteVoorEuropallet) { + If ((##class(TECH.Math).Max(BoxData.Breedte, BoxData.Diepte) + (3 * 6.7)) > ..#MaximumVerpakkingBreedteVoorEuropallet) && ((##class(TECH.Math).Min(BoxData.Breedte, BoxData.Diepte) + (3 * 6.7)) > ..#MaximumVerpakkingDiepteVoorEuropallet) { // 3 * 6.7 is svoor dikte kartonverpakking in rekening te brengen Do ..Logger.Debug("PastProductOpEuropallet", "Product "_PRNr_" past niet op een europallet voor bon " _ BonID_".") } Else { Do BoxDataLijst.Insert(BoxData) @@ -1065,6 +1083,7 @@ BoxData:DS.Prod.OptiBox.BoxData +1 DS.Prod.OptiBox.BoxDataMetID