Index: APPS/Halux/AAP/DnaCodeService.cls.xml =================================================================== diff -u -r61692 -r74747 --- APPS/Halux/AAP/DnaCodeService.cls.xml (.../DnaCodeService.cls.xml) (revision 61692) +++ APPS/Halux/AAP/DnaCodeService.cls.xml (.../DnaCodeService.cls.xml) (revision 74747) @@ -15,17 +15,17 @@ APPS.Halux.AAP.DnaCodeGenerator - + DOM.common.ProjectSettingsAPI 1 - + TECH.DateTime.DateTimeAPI 1 - + DOM.PM.ProductAPI 1 @@ -40,8 +40,23 @@ 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="" +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 @@ -50,11 +65,14 @@ Set ..DnaCodeRepository = $$$Inject(DnaCodeRepository, ##class(DOM.Halux.AAP.DnaCodeRepository).%New()) Set ..ProductTypeAPI = $$$Inject(ProductTypeAPI, ##class(DOM.PM.impl.ProductTypeAPIimpl).%New()) Set ..DnaCodeGenerator = $$$Inject(DnaCodeGenerator, ##class(APPS.Halux.AAP.DnaCodeGenerator).%New()) - Set ..ProjectSettingsApi = $$$Inject(ProjectSettingsApi, ##class(DOM.common.impl.ProjectSettingsAPI).%New()) - Set ..DateTimeApi = ##class(TECH.Context).Instance().GeefDateTimeAPI() - Set ..ProductApi = $$$Inject(ProductApi, ##class(DOM.PM.impl.ProductAPI).%New()) + Set ..ProjectSettingsAPI = $$$Inject(ProjectSettingsAPI, ##class(DOM.common.impl.ProjectSettingsAPI).%New()) + Set ..DateTimeAPI = ##class(TECH.Context).Instance().GeefDateTimeAPI() + Set ..ProductAPI = $$$Inject(ProductAPI, ##class(DOM.PM.impl.ProductAPI).%New()) Set ..SequentieService = $$$Inject(SequentieService, ##class(APPS.Halux.common.impl.SequentieService).%New()) Set ..Logger = $$$Inject(Logger, ##class(vhLib.Logger).%New()) + Set ..ConfiguratorService = $$$Inject(ConfiguratorService,##class(APPS.VKP.Maatwerk.impl.ConfiguratorService).%New()) + Set ..IngegevenKenmerkenSpaceStepHelper = $$$Inject(IngegevenKenmerkenSpaceStepHelper, ##class(DOM.PM.Maatwerk.Calc.Common.impl.IngegevenKenmerkenSpaceStepHelper).%New()) + Set ..DnaCodeServiceHelper = $$$Inject(DnaCodeServiceHelper, ##class(APPS.Halux.AAP.DnaCodeService.DnaCodeServiceHelper).%New(DnaCodeGenerator, DnaCodeRepository, ProductTypeAPI, ProductAPI, ConfiguratorService, IngegevenKenmerkenSpaceStepHelper)) Quit $$$OK ]]> @@ -81,9 +99,9 @@ #dim Teller As %Integer = 1 While Teller <= ToeleveringLijn.GeefAantal() { - Set DnaCode = ..MaakDnaCodeVoorToeleveringLijn(ToeleveringLijn, Batch) + Set DnaCode = ..DnaCodeServiceHelper.MaakDnaCodeVoorToeleveringLijn(ToeleveringLijn, Batch) If ParentCodeVoorToeleveringLijn = "" { - Set ParentCodeVoorToeleveringLijn = ..BepaalParentDnaCode(DnaCode, Batch) + Set ParentCodeVoorToeleveringLijn = ..DnaCodeServiceHelper.BepaalParentDnaCode(DnaCode, Batch) } Set DnaCode.ParentDnaCode = ParentCodeVoorToeleveringLijn Do DnaCodes.Insert(DnaCode) @@ -134,7 +152,7 @@ } } While DnaCodeTeller < ToeleveringLijn.GeefAantal() { - Do ..DnaCodeRepository.Bewaar(..MaakDnaCodeVoorToeleveringLijn(ToeleveringLijn)) + Do ..DnaCodeRepository.Bewaar(..DnaCodeServiceHelper.MaakDnaCodeVoorToeleveringLijn(ToeleveringLijn)) Set DnaCodeTeller = DnaCodeTeller + 1 } ]]> @@ -159,63 +177,19 @@ If DnaCode.Status = ##class(DOM.Halux.AAP.enu.DnaCodeStatus).Nieuw() { Set DnaCode.Status = ##class(DOM.Halux.AAP.enu.DnaCodeStatus).InBatch() Set DnaCode.Lijn = Batch.GeefLijn() - Set DnaCode.IsWegwerpPallet = Batch.GeefIsWegwerpPallet() + Set DnaCode.IsWegwerpPallet = Batch.GeefIsWegwerpPallet(Toelevering.GeefID()) Do ..DnaCodeRepository.Bewaar(DnaCode) } } } ]]> - -ToeleveringLijn:DOM.AKP.ProductToeleveringLijn,Batch:APPS.Halux.common.impl.BatchImpl="" -1 -DOM.Halux.AAP.DnaCode - - - - -DnaCode:DOM.Halux.AAP.DnaCode,Batch:APPS.Halux.common.impl.BatchImpl="" -1 -%String - - - -ToeleveringID:%String,ProductID:%String,SequentieNummer:%String="",Herafdruk:%Boolean=$$$False,BatchId:%String="" +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.ZoekViaToeleveringIdEnStatus(ToeleveringID,##class(DOM.Halux.AAP.enu.DnaCodeStatus).InBatch()) + 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 ..MagDnaCodeBijgewerktWorden(DnaCode, ProductID, Herafdruk) { - Set DnaCode.SequentieNummer = SequentieNummer - Set DnaCode.AfdrukTijdstip = ..DateTimeApi.CurrentHorolog() + 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 @@ -250,37 +228,174 @@ ]]> - -DnaCode:DOM.Halux.AAP.DnaCode,ProductID:%String,Herafdruk:%Boolean -1 + +SequentieId:%String,BatchId:%String,ToeleveringId:%String,ToeleveringlijnId:%String,ProductId:%String="" - -SequentieId:%String,BatchId:%String,ToeleveringId:%String,ToeleveringlijnId:%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 +%Boolean + + + + +PalletCode:%String +1 +%Boolean + + + + +PalletCode:%String +%Integer + +