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
]]>