Index: APPS/Halux/AAP/DnaCodeService.cls.xml
===================================================================
diff -u -r60245 -r74747
--- APPS/Halux/AAP/DnaCodeService.cls.xml (.../DnaCodeService.cls.xml) (revision 60245)
+++ APPS/Halux/AAP/DnaCodeService.cls.xml (.../DnaCodeService.cls.xml) (revision 74747)
@@ -15,23 +15,48 @@
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=""
+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
@@ -40,9 +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
]]>
@@ -69,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)
+ Set ParentCodeVoorToeleveringLijn = ..DnaCodeServiceHelper.BepaalParentDnaCode(DnaCode, Batch)
}
Set DnaCode.ParentDnaCode = ParentCodeVoorToeleveringLijn
Do DnaCodes.Insert(DnaCode)
@@ -122,7 +152,7 @@
}
}
While DnaCodeTeller < ToeleveringLijn.GeefAantal() {
- Do ..DnaCodeRepository.Bewaar(..MaakDnaCodeVoorToeleveringLijn(ToeleveringLijn))
+ Do ..DnaCodeRepository.Bewaar(..DnaCodeServiceHelper.MaakDnaCodeVoorToeleveringLijn(ToeleveringLijn))
Set DnaCodeTeller = DnaCodeTeller + 1
}
]]>
@@ -147,85 +177,223 @@
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
+
+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
]]>
-
-DnaCode:DOM.Halux.AAP.DnaCode
-1
+
+SequentieId:%String,BatchId:%String,ToeleveringId:%String,ToeleveringlijnId:%String,ProductId:%String=""
+
+
+
+
+BatchId:%String,Sequentienummer:%String
%String
-
-ToeleveringID:%String,ProductID:%String,SequentieNummer:%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)
}
- #dim Result As %String = ""
- #dim DnaCodeIterator As TECH.Iterator
- Set DnaCodeIterator = ..DnaCodeRepository.ZoekViaToeleveringIdEnStatus(ToeleveringID,##class(DOM.Halux.AAP.enu.DnaCodeStatus).InBatch())
- #dim DnaCode As DOM.Halux.AAP.DnaCode = ""
+
+ 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
+