Index: Prod/GADef/KaderDeur.cls.xml
===================================================================
diff -u -r1074 -r1842
--- Prod/GADef/KaderDeur.cls.xml (.../KaderDeur.cls.xml) (revision 1074)
+++ Prod/GADef/KaderDeur.cls.xml (.../KaderDeur.cls.xml) (revision 1842)
@@ -711,10 +711,7 @@
Quit:(%this.Dossier'="")
New DosNr,Node
Set Node=$S(..ProductieWijzeGetObjectId()="LPR":"PLNR", ..Toepassing.ItemID="GL":"GLNR",1:"HDNR")
- Lock +^KPR(0,Node)
- Set DosNr=$G(^KPR(0,Node))+1,$P(^KPR(0,Node),"\")=DosNr
- Lock -^KPR(0,Node)
- Set ..Dossier=##CLASS(%VHSys.Library).AlfaKey(DosNr,"A")
+ Set ..Dossier=##class(DOM.PM.Maatwerk.ProductUtils).GeefVolgendeDossierCode(Node)
Quit
]]>
Index: Prod/GAData/Product.cls.xml
===================================================================
diff -u -r1358 -r1842
--- Prod/GAData/Product.cls.xml (.../Product.cls.xml) (revision 1358)
+++ Prod/GAData/Product.cls.xml (.../Product.cls.xml) (revision 1842)
@@ -463,14 +463,8 @@
GenPRNr:%Library.String
Index: DOM/PM/impl/DataM/DataMProductCreator.cls.xml
===================================================================
diff -u -r1644 -r1842
--- DOM/PM/impl/DataM/DataMProductCreator.cls.xml (.../DataMProductCreator.cls.xml) (revision 1644)
+++ DOM/PM/impl/DataM/DataMProductCreator.cls.xml (.../DataMProductCreator.cls.xml) (revision 1842)
@@ -295,11 +295,9 @@
1
%String
Node wordt niet uit het generisch product afgeleid.
+ Set Node = ..GeefWaarde("G",4)
+ Quit ##class(DOM.PM.Maatwerk.ProductUtils).GeefVolgendeDossierCode(Node)
]]>
Index: PRODUKT2.mac.rou
===================================================================
diff -u -r1815 -r1842
--- PRODUKT2.mac.rou (.../PRODUKT2.mac.rou) (revision 1815)
+++ PRODUKT2.mac.rou (.../PRODUKT2.mac.rou) (revision 1842)
@@ -544,12 +544,7 @@
;
; Volgend dossiernummer
NextDossier(Node)
- New DosNr,Dossier
- Lock +^KPR(0,Node)
- Set DosNr=$G(^KPR(0,Node))+1,$P(^KPR(0,Node),"\")=DosNr
- Lock -^KPR(0,Node)
- Set Dossier=$$ALFAKEY^vhRtn1(DosNr,"A")
- Quit Dossier
+ Quit ##class(DOM.PM.Maatwerk.ProductUtils).GeefVolgendeDossierCode(Node)
;
; Dossierreferentie
DossierRef(PRNr)
Index: zTryout/CSC/Try.cls.xml
===================================================================
diff -u -r1829 -r1842
--- zTryout/CSC/Try.cls.xml (.../Try.cls.xml) (revision 1829)
+++ zTryout/CSC/Try.cls.xml (.../Try.cls.xml) (revision 1842)
@@ -10,25 +10,113 @@
Do ##class(zTryout.CSC.Try).Try()
1
+Input
+%String
Grens)
{
- w !,"Toelevering: "_ToelNr
- Set Toelevering = ToeleveringAPI.GeefToelevering(ToelNr)
- Set ToeleveringLijnIterator = Toelevering.GeefTypeToeleveringLijnIterator(##class(DOM.LEV.enu.ToeleveringLijnType).Product())
- While (ToeleveringLijnIterator.HasNext())
+ Set AAACombo = 703
+ Set Max3LetterCombo = 26*26*26
+
+ If (Input > Grens+(Max3LetterCombo*36))
{
- Set ProductToeleveringsLijn = ToeleveringLijnIterator.Next()
- w !," Product: "_ProductToeleveringsLijn.GeefProduct().GeefKorttekst()
+ Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.InvalidInputException).%New("Maximum grens dossiercode overschreden"))
}
- Set ToelNr = $Order(^KTO(6332,ToelNr))
+
+ Set i = 3
+ While (i '< 0)
+ {
+ Set max = Grens+(i*9*Max3LetterCombo)
+ If (Input > max)
+ {
+ Set Overschot = Input-max
+ Set AlfaKey = ##class(%VHSys.Library).AlfaKey((Overschot-1)#(Max3LetterCombo)+AAACombo,"A")
+ Set DossierCode = $E(AlfaKey,1,(3-i))_##class(TECH.Math).Ceil(Overschot/(Max3LetterCombo))_$E(AlfaKey,4-i,3)
+ Set i = 0
+ }
+ Set i = i - 1
+ }
}
+ Else
+ {
+ Set DossierCode = ##class(%VHSys.Library).AlfaKey(Input,"A")
+ }
+ Quit DossierCode
]]>
+
+
+w ##class(zTryout.CSC.Try).GeefDossierCode("tryout")
+1
+Node:%String
+%String
+ Grens)
+ {
+ Set DosNr = DosNr - Grens + 47989
+ Set DossierCode = ##class(%VHSys.Library).AlfaKey(DosNr,"AN")
+ While ((DossierCode?4A) || (DossierCode[0))
+ {
+ Set DosNr = DosNr + 1
+ Set DossierCode = ##class(%VHSys.Library).AlfaKey(DosNr,"AN")
+ }
+ Set DosNr = DosNr + Grens - 47989
+ }
+ Else
+ {
+ Set DossierCode = ##class(%VHSys.Library).AlfaKey(DosNr,"A")
+ }
+ Set $P(^KPR(0,Node),"\")=DosNr
+ Lock -^KPR(0,Node)
+ Quit DossierCode
+]]>
+
+
+
+
+Do ##class(zTryout.CSC.Try).GeefDossier2("tryout")
+1
+Node:%String
+%String
+ Grens)
+ {
+ Set Overflow = DosNr - Grens
+ Set GeheleDelingen = ##class(TECH.Math).Floor((Overflow-1)/10)
+ Set Rest = Overflow - (GeheleDelingen * 10)
+ Set DossierCode = ##class(%VHSys.Library).AlfaKey(GeheleDelingen*36+Rest+48014,"AN")
+ }
+ Else
+ {
+ Set DossierCode = ##class(%VHSys.Library).AlfaKey(DosNr,"A")
+ }
+ Set $P(^KPR(0,Node),"\")=DosNr
+ Lock -^KPR(0,Node)
+ w DossierCode,!
+ h 0.1
+ }
+ Quit DossierCode
+]]>
+
+
Do ##class(zTryout.CSC.Try).Try2()
Index: DOM/PM/Maatwerk/ProductUtils.cls.xml
===================================================================
diff -u
--- DOM/PM/Maatwerk/ProductUtils.cls.xml (revision 0)
+++ DOM/PM/Maatwerk/ProductUtils.cls.xml (revision 1842)
@@ -0,0 +1,39 @@
+
+
+
+1
+%RegisteredObject
+0
+
+
+1
+Node:%String
+%String
+ Grens)
+ {
+ Set DosNr = DosNr - Grens + 47989
+ Set DossierCode = ##class(%VHSys.Library).AlfaKey(DosNr,"AN")
+ While ((DossierCode?4A) || (DossierCode[0))
+ {
+ Set DosNr = DosNr + 1
+ Set DossierCode = ##class(%VHSys.Library).AlfaKey(DosNr,"AN")
+ }
+ Set DosNr = DosNr + Grens - 47989
+ }
+ Else
+ {
+ Set DossierCode = ##class(%VHSys.Library).AlfaKey(DosNr,"A")
+ }
+ Set $P(^KPR(0,Node),"\")=DosNr
+ Lock -^KPR(0,Node)
+ Quit DossierCode
+]]>
+
+
+