TECH.Mockable DOM.Halux.AAP.DnaCodeRepository DOM.PM.impl.ProductTypeAPIimpl APPS.Halux.AAP.DnaCodeGenerator DOM.common.ProjectSettingsAPI 1 TECH.DateTime.DateTimeAPI 1 DOM.PM.ProductAPI 1 APPS.Halux.common.SequentieService 1 vhLib.Logger 1 APPS.VKP.Maatwerk.impl.ConfiguratorService 1 DOM.PM.Maatwerk.Calc.Common.impl.IngegevenKenmerkenSpaceStepHelper 1 APPS.Halux.AAP.DnaCodeService.DnaCodeServiceHelper 1 DnaCodeRepository:DOM.Halux.AAP.DnaCodeRepository="",ProductTypeAPI:DOM.PM.impl.ProductTypeAPIimpl="",DnaCodeGenerator:APPS.Halux.AAP.DnaCodeGenerator="",ProjectSettingsAPI:DOM.common.ProjectSettingsAPI="",ProductAPI:DOM.PM.ProductAPI="",SequentieService:APPS.Halux.common.SequentieService="",Logger:vhLib.Logger="",ConfiguratorService:APPS.VKP.Maatwerk.impl.ConfiguratorService="",IngegevenKenmerkenSpaceStepHelper:DOM.PM.Maatwerk.Calc.Common.impl.IngegevenKenmerkenSpaceStepHelper="",DnaCodeServiceHelper:APPS.Halux.AAP.DnaCodeService.DnaCodeServiceHelper 1 1 %Status 1 Batch:APPS.Halux.common.impl.BatchImpl %ListOfDataTypes BatchId:%String DnaCodes:%ListOfDataTypes %Status ToeleveringId:%String,ToeleveringLijnCode:%String ToeleveringLijn:DOM.AKP.ProductToeleveringLijn ToeleveringLijn.GeefAantal() { Do ..DnaCodeRepository.VerwijderDnaCodeVoorToeleveringId(ToeleveringId, DnaCode.DnaCode) } } While DnaCodeTeller < ToeleveringLijn.GeefAantal() { Do ..DnaCodeRepository.Bewaar(..DnaCodeServiceHelper.MaakDnaCodeVoorToeleveringLijn(ToeleveringLijn)) Set DnaCodeTeller = DnaCodeTeller + 1 } ]]> Batch:APPS.Halux.common.impl.BatchImpl ToeleveringID:%String,ProductID:%String,SequentieNummer:%String="",Herafdruk:%Boolean=$$$False,BatchId:%String="",IsKlantEtiketSpaceStep:%Boolean=$$$False %String 0)) { Set DnaCodeIterator = ..DnaCodeRepository.ZoekViaToeleveringEnSequentienummerEnRecent(ToeleveringID, SequentieNummer) } Else { Set DnaCodeIterator = ..DnaCodeRepository.ZoekViaToeleveringIdEnStatusEnRecent(ToeleveringID,##class(DOM.Halux.AAP.enu.DnaCodeStatus).InBatch()) } #dim DnaCode As DOM.Halux.AAP.DnaCode = "" While DnaCodeIterator.HasNext() { Set DnaCode = DnaCodeIterator.Next() If ..DnaCodeServiceHelper.MagDnaCodeBijgewerktWorden(DnaCode, ProductID, Herafdruk, SequentieNummer) { If ($$$HasLength(SequentieNummer) && $$$Not(..DnaCodeServiceHelper.IsSpaceStepGeneriekProduct(DnaCode,ProductID))) { Set DnaCode.SequentieNummer = SequentieNummer } Set DnaCode.AfdrukTijdstip = ..DateTimeAPI.CurrentHorolog() Do ..DnaCodeRepository.Bewaar(DnaCode) Set Result = DnaCode.DnaCode Quit } } If $$$Not($$$HasLength(Result)) { Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.DataNotFoundException).%New("Geen nog niet afgedrukte barcode gevonden voor Toelevering '"_ToeleveringID_"' en product '"_ProductID_"'")) } Quit Result ]]> SequentieId:%String,BatchId:%String,ToeleveringId:%String,ToeleveringlijnId:%String,ProductId:%String="" BatchId:%String,Sequentienummer:%String %String ToeleveringId:%String,SequentieNummer:%String,ProductNummer:%String %String 1) { Set Exception = ##class(TECH.Exceptions.DataCorruptException).%New("Meerdere dnacodes gevonden voor toelevering '" _ ToeleveringId _ "', product '" _ ProductNummer _ "' en sequentienummer '" _ SequentieNummer _ "'.") do ##class(TECH.ExceptionHandler).Throw(Exception) } Quit DnaCode ]]> BatchId:%String,Sequentienummer:%String TECH.Iterator ProdutNummer:%String,PalletCode:%String %Integer ProductNummer:%String,PalletCode:%String %String PalletCode:%String 1 %Boolean PalletCode:%String %Integer