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