Index: APPS/Verpakking/DoosFactory.cls.xml =================================================================== diff -u -r69608 -r69844 --- APPS/Verpakking/DoosFactory.cls.xml (.../DoosFactory.cls.xml) (revision 69608) +++ APPS/Verpakking/DoosFactory.cls.xml (.../DoosFactory.cls.xml) (revision 69844) @@ -9,7 +9,7 @@ SnijDoos - #dim Product As DOM.PM.Product = ..ProductAPI.GeefProduct(ProductId) - Set OptiData = ..MaakOptiData(Doos, BaseRef, Aantal, Product, MachineID, Prioriteit) - Set SnijData = ..MaakSnijData(Doos, BaseRef, OptiData, Product, MachineID, Prioriteit) - Set SnijDef = ..MaakSnijDef(Doos, SnijData) - Do SnijData.SnijDefs.SetAt(SnijDef, MachineID) - Do SnijData.%Save() - #dim OptiboxQueue = ..MaakOptiboxQueue(SnijData, Prioriteit, CallBack, OptiData) - If (..ProductTypeAPI.IsLegraboxProduct(ProductId) || ..ProductTypeAPI.IsMerivoboxProduct(ProductId)) { - Set WerklijstItemStatusUpdater = ##class(APPS.Halux.PPS.Verpakking.impl.KartonSnijder.WerklijstItemStatusUpdater).%New() - Do WerklijstItemStatusUpdater.UpdateWerklijstItemStatusViaID($LG(CallBack,3), $$$False, ##class(APPS.Halux.PPS.Verpakking.enu.KartonMachineStatus).Geoptimaliseerd()) - } ElseIf (..ProductTypeAPI.IsTandemboxProduct(ProductId) || ..ProductTypeAPI.IsTAORboxProduct(ProductId)) { - Set Queue = ##class(DS.PPS.TBX.Queue).%OpenId($LG(CallBack,3)) - If ##class(TECH.StringUtils).Equals(Doos.Recipe, "214", "218") { //Losse onderdelen + complexe scheiding kartons - Set Queue.WPLosOnderdeel.SnijStatus = "Q" + Set BaseRef = $Piece(BaseRef,".",1,2) //Bij TAOR komt er nog een 3e piece achter, dit zou verder in de flow anders voor fouten zorgen + #dim MachineTechnologie As APPS.Verpakking.enu.MachineTechnologie = ..GeefMachineTechnologie(MachineID) + #dim Doos As APPS.Verpakking.Doos = ..DoosFactory.MaakDoos(ProductGroep, ReceptNaam) + Do ..DoosAanvuller.VulAanBasisInformatieDoos(.Doos, .Params, ProductGroep, Prioriteit, MachineTechnologie, BoxDataID) //SnijdataID toevoegen voor overdozen? + Do ..Optimizer.Optimize(.Doos, ProductGroep, MachineTechnologie) + + If (MachineTechnologie = ##class(APPS.Verpakking.enu.MachineTechnologie).Kraft()) { + If (MachineID = ##class(APPS.Verpakking.enu.MachineID).KraftKlein()) { + Set Doos.CardBoardThickness = 3 + Set Doos.CardBoardID = "TBX DRAWER EB 1430" + } + If ((MachineID = ##class(APPS.Verpakking.enu.MachineID).HALUX()) || (MachineID = ##class(APPS.Verpakking.enu.MachineID).TAOR())) { + Set Doos.CardBoardThickness = 4 + } + } + #dim SnijData As DS.Prod.OptiBox.SnijData = "" + #dim OptiData As DS.Prod.OptiBox.OptiData + #dim SnijDef As DS.Prod.OptiBox.sub.emSnijDef + + If $Length(CallBack) { //Er kan ook gesneden worden zonder CallBack: zoals rechtstreekse snijopdrachten via admin via F11 -> SnijDoos + #dim Product As DOM.PM.Product = ..ProductAPI.GeefProduct(ProductId) + Set OptiData = ..MaakOptiData(Doos, BaseRef, Aantal, Product, MachineID, Prioriteit) + Set SnijData = ..MaakSnijData(Doos, BaseRef, OptiData, Product, MachineID, Prioriteit) + Set SnijDef = ..MaakSnijDef(Doos, SnijData) + Do SnijData.SnijDefs.SetAt(SnijDef, MachineID) + Do SnijData.%Save() + + #dim OptiboxQueue = ..MaakOptiboxQueue(SnijData, Prioriteit, CallBack, OptiData) + If (..ProductTypeAPI.IsLegraboxProduct(ProductId) || ..ProductTypeAPI.IsMerivoboxProduct(ProductId)) { + Set WerklijstItemStatusUpdater = ##class(APPS.Halux.PPS.Verpakking.impl.KartonSnijder.WerklijstItemStatusUpdater).%New() + Do WerklijstItemStatusUpdater.UpdateWerklijstItemStatusViaID($LG(CallBack,3), $$$False, ##class(APPS.Halux.PPS.Verpakking.enu.KartonMachineStatus).Geoptimaliseerd()) + } ElseIf (..ProductTypeAPI.IsTandemboxProduct(ProductId) || ..ProductTypeAPI.IsTAORboxProduct(ProductId)) { + Set Queue = ##class(DS.PPS.TBX.Queue).%OpenId($LG(CallBack,3)) + If ##class(TECH.StringUtils).Equals(Doos.Recipe, "214", "218") { //Losse onderdelen + complexe scheiding kartons + Set Queue.WPLosOnderdeel.SnijStatus = "Q" + } Else { + Set Queue.WPVerpak.SnijStatus = "Q" + } } Else { - Set Queue.WPVerpak.SnijStatus = "Q" + Do ..Logger.ErrorMail("GeefDoos", "Voor dit maatwerktype is nog geen implementatie voorzien in de de VHDoosService.") } - } Else { - Do ..Logger.ErrorMail("GeefDoos", "Voor dit maatwerktype is nog geen implementatie voorzien in de de VHDoosService.") } + + #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 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() + Do ..Logger.ErrorMail("GeefDoos", "Er is iets fout gelopen bij het verwerken van GeefDoos. "_Exception.GeefOmschrijving()) } ]]>