Index: APPS/Verpakking/DoosService.cls.xml =================================================================== diff -u -r70406 -r70418 --- APPS/Verpakking/DoosService.cls.xml (.../DoosService.cls.xml) (revision 70406) +++ APPS/Verpakking/DoosService.cls.xml (.../DoosService.cls.xml) (revision 70418) @@ -18,6 +18,11 @@ 1 + +APPS.Verpakking.KartonRepository +1 + + WS.APPS.Verpakking.SnijDoosService 1 @@ -64,59 +69,60 @@ Set ..ProductTypeAPI = $$$Inject(ProductTypeAPI, ##class(DOM.DomeinContext).Instance().GeefProductTypeAPI()) Set ..DateTimeAPI = ##class(TECH.Context).Instance().GeefDateTimeAPI() Set ..Logger = ##class(vhLib.Logger).%New("VH doos service") + Set ..KartonRepository = ##class(APPS.Verpakking.KartonRepository).%New() + If ($$$Server = "CACHE01") { + Set ..SnijDoosService.Location = "http://docker02-prd:1880/ws/cut-request" + } + Quit $$$OK ]]> - + SnijDoos + If ($Length(CallBack) || IsDoorgegevenHerberekenVerpakkingInAdmin) { + Do ..MaakEnUpdateDataVoorSnijOpdracht(.SnijData, Doos, ProductId, Aantal, BaseRef, MachineID, Prioriteit, CallBack) } + + If $$$Not(IsDoorgegevenHerberekenVerpakkingInAdmin) { + #dim Referentie As %String = $Select($$$Not(SnijData = ""): SnijData.Reference, 1: BaseRef) + #dim SnijRequest As WS.APPS.Verpakking.SnijDoosRequest = ..SnijRequestMaker.MaakSnijRequest(Doos, MachineTechnologie, MachineID, Prioriteit, Aantal, Referentie) + Do ..LogXmlObject(SnijRequest, "GeefDoos OUT") + + #dim SnijResponse As WS.APPS.Verpakking.SnijDoosResponse = ..SnijDoosService.SnijDoos(SnijRequest) + Do ..LogXmlObject(SnijResponse, "GeefDoos IN") + + #dim RequestXml as %String + Do SnijRequest.XMLExportToString(.RequestXml) + + Set ^LogKartonOpdrachten2(ProductId, "VH Doos", $Increment(^LogKartonOpdrachten2)) = RequestXml + } } - - #dim SnijData As DS.Prod.OptiBox.SnijData = "" - - //Callbacks zijn er voor de snijstatussen (die te zien zijn op de schermen aan het kartonsnijmachine (oude vintra) up te daten - //Er kan ook gesneden worden zonder CallBack: zoals rechtstreekse snijopdrachten via admin via F11 -> SnijDoos - If $Length(CallBack){ - Do ..MaakEnUpdateDataVoorSnijOpdracht(.SnijData, Doos, ProductId, Aantal, BaseRef, MachineID, Prioriteit, CallBack) - } - - #dim Referentie As %String = $Select($$$Not(SnijData = ""): SnijData.Reference, 1: BaseRef) - #dim SnijRequest As WS.APPS.Verpakking.SnijDoosRequest = ..SnijRequestMaker.MaakSnijRequest(Doos, MachineTechnologie, MachineID, Prioriteit, Aantal, Referentie) - Do ..LogXmlObject(SnijRequest, "GeefDoos OUT") - - #dim SnijResponse As WS.APPS.Verpakking.SnijDoosResponse = ..SnijDoosService.SnijDoos(SnijRequest) - Do ..LogXmlObject(SnijResponse, "GeefDoos IN") - - #dim RequestXml as %String - Do SnijRequest.XMLExportToString(.RequestXml) - - Set ^LogKartonOpdrachten2(ProductId, "VH Doos", $Increment(^LogKartonOpdrachten2)) = RequestXml } } Catch { #dim Exception As TECH.Exceptions.Exception = ##class(TECH.ExceptionHandler).Catch() @@ -176,6 +182,7 @@ Do ..Logger.Info(Actie, TeLoggenObject) } Catch { #dim Exception As TECH.Exceptions.Exception = ##class(TECH.ExceptionHandler).Catch() + Do ..Logger.Warning("GeefDoos", "Er is iets fout gelopen bij het loggen van de snijrequest of response van GeefDoos. "_Exception.GeefOmschrijving()) } ]]> @@ -186,7 +193,7 @@ DS.Prod.OptiBox.sub.emSnijDef @@ -270,7 +293,8 @@ Set OptiData.ProductAantal = 1 // $S(ProdQty>0:ProdQty,1:1) //TBD, wss hardcoderen op 1 Set OptiData.DoosAantal = Aantal - Set Status=OptiData.%Save() + #dim SaveStatus As %Status = OptiData.%Save() + Do ##class(TECH.Exceptions.StatusException).ThrowIndienNietOK(SaveStatus,"Het bewaren van OptiData is niet gelukt.") Quit OptiData ]]> @@ -292,7 +316,9 @@ Set OptiboxQueue.CallBack = $G(CallBack) Set OptiboxQueue.SnijData = SnijData - Set Status = OptiboxQueue.%Save() + #dim SaveStatus As %Status = OptiboxQueue.%Save() + Do ##class(TECH.Exceptions.StatusException).ThrowIndienNietOK(SaveStatus,"Het bewaren van OptiboxQueue is niet gelukt.") + Quit OptiboxQueue ]]> @@ -324,7 +350,7 @@ #dim BoxDataID As %String = ResultSetLink.Data("ID") Set BoxData = ##class(DS.Prod.OptiBox.BoxData).%OpenId(BoxDataID) #dim SubAantal As %Integer = $Select(BoxData.Aantal = "Aantal": 1, 1:BoxData.Aantal) - Do ..GeefDoos(ProductGroep, BoxData.Meta.Name, MachineID, (Aantal * SubAantal), "", ProductId, Prioriteit, BaseRef, CallBack, BoxDataID) + Do ..GeefDoos(ProductGroep, BoxData.Meta.Name, MachineID, (Aantal * SubAantal), "", ProductId, Prioriteit, BaseRef, CallBack, BoxDataID, IsHerberekenVerpakkingInAdmin) } Do ResultSetLink.Close() @@ -335,34 +361,51 @@ - + 1 + + + +1 + + Index: APPS/Verpakking/dto/Doos.cls.xml =================================================================== diff -u -r70302 -r70418 --- APPS/Verpakking/dto/Doos.cls.xml (.../Doos.cls.xml) (revision 70302) +++ APPS/Verpakking/dto/Doos.cls.xml (.../Doos.cls.xml) (revision 70418) @@ -70,6 +70,12 @@ + +%Decimal + + + + %Decimal Index: APPS/Verpakking/KartonRepository.cls.xml =================================================================== diff -u -r70301 -r70418 --- APPS/Verpakking/KartonRepository.cls.xml (.../KartonRepository.cls.xml) (revision 70301) +++ APPS/Verpakking/KartonRepository.cls.xml (.../KartonRepository.cls.xml) (revision 70418) @@ -26,6 +26,20 @@ ]]> + +CardboardID:%String +%Boolean + + + + +CardboardID:%String +%Boolean + + + Veld:%String,Filter:%String,Params:%List 1 Index: APPS/Verpakking/Optimizer.cls.xml =================================================================== diff -u -r70302 -r70418 --- APPS/Verpakking/Optimizer.cls.xml (.../Optimizer.cls.xml) (revision 70302) +++ APPS/Verpakking/Optimizer.cls.xml (.../Optimizer.cls.xml) (revision 70418) @@ -23,6 +23,11 @@ 1 + +%Decimal +1 + + APPS.Verpakking.KartonRepository 1 @@ -74,45 +79,57 @@ If (BasisDoos.Swap = 1) { Do ..SwapDimensies(.BasisDoos) + Set BasisDoos.Swap = 0 } } Set BasisDoos.RecipeName = BasisDoos.RecipeName _ " "_ BasisDoos.Recipe + Set BasisDoos.UsedCardBoardLength = ..DieptePlano ]]> 1 - 1 - 1 - 1 - 1 - @@ -149,8 +166,10 @@ #dim OppTotaleKartonAltRecept As %Decimal = DieptePlanoAltRecept * NodigeKartonBreedteAltRecept Set ..BreedtePlano = BreedtePlanoRecept + Set ..DieptePlano = DieptePlanoRecept If ((OppTotaleKartonAltRecept < OppTotaleKartonRecept)) { Set ..BreedtePlano = BreedtePlanoAltRecept + Set ..DieptePlano = DieptePlanoAltRecept Set BasisDoos.Recipe = BasisDoos.AltRecipe Set BasisDoos.Swap = BasisDoos.AltSwap } @@ -191,33 +210,41 @@ If (SwapRecept219IsBeter && SwapRecept209IsBeter) { Set ..BreedtePlano = BreedtePlanoNaSwapRecept219 + Set ..DieptePlano = DieptePlanoNaSwapRecept219 Set BasisDoos.Swap = 1 If (OppTotaleKartonNaSwapRecept209 < OppTotaleKartonNaSwapRecept219) { Set ..BreedtePlano = BreedtePlanoNaSwapRecept209 + Set ..DieptePlano = DieptePlanoNaSwapRecept209 Set BasisDoos.Recipe = 209 } } ElseIf (SwapRecept219IsBeter && $$$Not(SwapRecept209IsBeter)) { If (OppTotaleKartonVoorSwapRecept209 < OppTotaleKartonNaSwapRecept219) { Set ..BreedtePlano = BreedtePlanoVoorSwapRecept209 + Set ..DieptePlano = DieptePlanoVoorSwapRecept209 Set BasisDoos.Recipe = 209 Set BasisDoos.Swap = 0 } Else { Set BasisDoos.Swap = 1 Set ..BreedtePlano = BreedtePlanoNaSwapRecept219 + Set ..DieptePlano = DieptePlanoNaSwapRecept219 } } ElseIf ($$$Not(SwapRecept219IsBeter) && SwapRecept209IsBeter) { Set ..BreedtePlano = BreedtePlanoVoorSwapRecept219 + Set ..DieptePlano = DieptePlanoVoorSwapRecept219 Set BasisDoos.Swap = 0 If (OppTotaleKartonNaSwapRecept209 < OppTotaleKartonVoorSwapRecept219) { Set ..BreedtePlano = BreedtePlanoNaSwapRecept209 + Set ..DieptePlano = DieptePlanoNaSwapRecept209 Set BasisDoos.Recipe = 209 Set BasisDoos.Swap = 1 } } ElseIf ($$$Not(SwapRecept219IsBeter) && $$$Not(SwapRecept209IsBeter)) { Set ..BreedtePlano = BreedtePlanoVoorSwapRecept219 + Set ..DieptePlano = DieptePlanoVoorSwapRecept219 Set BasisDoos.Swap = 0 If (OppTotaleKartonVoorSwapRecept209 < OppTotaleKartonVoorSwapRecept219) { Set ..BreedtePlano = BreedtePlanoVoorSwapRecept209 + Set ..DieptePlano = DieptePlanoVoorSwapRecept209 Set BasisDoos.Recipe = 209 } } @@ -265,33 +292,41 @@ If (SwapRecept220IsBeter && SwapRecept210IsBeter) { Set ..BreedtePlano = BreedtePlanoNaSwapRecept220 + Set ..DieptePlano = DieptePlanoNaSwapRecept220 Set BasisDoos.Swap = 1 If (OppTotaleKartonNaSwapRecept210 < OppTotaleKartonNaSwapRecept220) { Set ..BreedtePlano = BreedtePlanoNaSwapRecept210 + Set ..DieptePlano = DieptePlanoNaSwapRecept210 Set BasisDoos.Recipe = 210 } } ElseIf (SwapRecept220IsBeter && $$$Not(SwapRecept210IsBeter)) { If (OppTotaleKartonVoorSwapRecept210 < OppTotaleKartonNaSwapRecept220) { Set ..BreedtePlano = BreedtePlanoVoorSwapRecept210 + Set ..DieptePlano = DieptePlanoVoorSwapRecept210 Set BasisDoos.Recipe = 210 Set BasisDoos.Swap = 0 } Else { Set BasisDoos.Swap = 1 Set ..BreedtePlano = BreedtePlanoNaSwapRecept220 + Set ..DieptePlano = DieptePlanoNaSwapRecept220 } } ElseIf ($$$Not(SwapRecept220IsBeter) && SwapRecept210IsBeter) { Set ..BreedtePlano = BreedtePlanoVoorSwapRecept220 + Set ..DieptePlano = DieptePlanoVoorSwapRecept220 Set BasisDoos.Swap = 0 If (OppTotaleKartonNaSwapRecept210 < OppTotaleKartonVoorSwapRecept220) { Set ..BreedtePlano = BreedtePlanoNaSwapRecept210 + Set ..DieptePlano = DieptePlanoNaSwapRecept210 Set BasisDoos.Recipe = 210 Set BasisDoos.Swap = 1 } } ElseIf ($$$Not(SwapRecept220IsBeter) && $$$Not(SwapRecept210IsBeter)) { Set ..BreedtePlano = BreedtePlanoVoorSwapRecept220 + Set ..DieptePlano = DieptePlanoVoorSwapRecept220 Set BasisDoos.Swap = 0 If (OppTotaleKartonVoorSwapRecept210 < OppTotaleKartonVoorSwapRecept220) { Set ..BreedtePlano = BreedtePlanoVoorSwapRecept210 + Set ..DieptePlano = DieptePlanoVoorSwapRecept210 Set BasisDoos.Recipe = 210 } } @@ -337,33 +372,41 @@ If (SwapRecept207IsBeter && SwapRecept217IsBeter) { Set ..BreedtePlano = BreedtePlanoNaSwapRecept207 + Set ..DieptePlano = DieptePlanoNaSwapRecept207 Set BasisDoos.Swap = 1 If (OppTotaleKartonNaSwapRecept217 < OppTotaleKartonNaSwapRecept207) { Set ..BreedtePlano = BreedtePlanoNaSwapRecept217 + Set ..DieptePlano = DieptePlanoNaSwapRecept217 Set BasisDoos.Recipe = 217 } } ElseIf (SwapRecept207IsBeter && $$$Not(SwapRecept217IsBeter)) { If (OppTotaleKartonVoorSwapRecept217 < OppTotaleKartonNaSwapRecept207) { Set ..BreedtePlano = BreedtePlanoVoorSwapRecept217 + Set ..DieptePlano = DieptePlanoVoorSwapRecept217 Set BasisDoos.Recipe = 217 Set BasisDoos.Swap = 0 } Else { Set BasisDoos.Swap = 1 Set ..BreedtePlano = BreedtePlanoNaSwapRecept207 + Set ..DieptePlano = DieptePlanoNaSwapRecept207 } } ElseIf ($$$Not(SwapRecept207IsBeter) && SwapRecept217IsBeter) { Set ..BreedtePlano = BreedtePlanoVoorSwapRecept207 + Set ..DieptePlano = DieptePlanoVoorSwapRecept207 Set BasisDoos.Swap = 0 If (OppTotaleKartonNaSwapRecept217 < OppTotaleKartonVoorSwapRecept207) { Set ..BreedtePlano = BreedtePlanoNaSwapRecept217 + Set ..DieptePlano = DieptePlanoNaSwapRecept217 Set BasisDoos.Recipe = 217 Set BasisDoos.Swap = 1 } } ElseIf ($$$Not(SwapRecept207IsBeter) && $$$Not(SwapRecept217IsBeter)) { Set ..BreedtePlano = BreedtePlanoVoorSwapRecept207 + Set ..DieptePlano = DieptePlanoVoorSwapRecept207 Set BasisDoos.Swap = 0 If (OppTotaleKartonVoorSwapRecept217 < OppTotaleKartonVoorSwapRecept207) { Set ..BreedtePlano = BreedtePlanoVoorSwapRecept217 + Set ..DieptePlano = DieptePlanoVoorSwapRecept217 Set BasisDoos.Recipe = 217 } } @@ -373,21 +416,27 @@ 1 - 1 - 1 - @@ -407,6 +456,7 @@ } Set ..BreedtePlano = BreedtePlanoRecept + Set ..DieptePlano = DieptePlanoRecept } ]]>