Index: APPS/VKP/LeveringsTermijn.cls.xml
===================================================================
diff -u -r29059 -r31145
--- APPS/VKP/LeveringsTermijn.cls.xml (.../LeveringsTermijn.cls.xml) (revision 29059)
+++ APPS/VKP/LeveringsTermijn.cls.xml (.../LeveringsTermijn.cls.xml) (revision 31145)
@@ -63,14 +63,14 @@
Verzendwijze afhankelijke verwerking
Wordt mee geïnitieerd tijdens de initialisatie
-VerzendWijze
+APPS.VKP.VerzendWijze
Do ##class(APPS.VKP.LeveringsTermijn).Test(2865,375655,"OD3;1`OD3;3")
1
-KLNr,PRNr,VerzendWijze
+KLNr:%String,PRNr:%String,VerzendWijze:%String
0
Verzendwijze is opgebouwd als "OD;1`OD;4" en moet geconverteerd worden
-RefDate,blVerzendWijze
+RefDate:%Date="",blVerzendWijze:APPS.VKP.VerzendWijze
%Status
Geef de eerstvolgende leverdag op basis van de opgeven PickDatum
-PickDatum
+PickDatum:%Date
+%Date
@@ -141,6 +142,7 @@
Geef de eerstvolgende leverdag op basis van de verzendwijze en aanleverdagen
LeverDatum:%Date
+%Date
@@ -167,17 +169,18 @@
-LeverDatum
-%TimeStamp
+LeverDatum:%Date
+TECH.Horolog
-LeverDatum
+LeverDatum:%Date
+TECH.Horolog
-lbTermijn
+lbTermijn:%List
%Date
(Datum1+($LG(lbTermijn,1)*7)+MaxVerlof) Datum2=Datum1+($LG(lbTermijn,1)*7) ; controleren of de speling MaxVerlof niet overtreden wordt, indien niet dan wordt er met weken gewerkt en niet met arbeidsdagen
- . Set Datum=$$CALCDATE^vhLib.DataTypes(Datum2,"W","LD")-2 ; vrijdag ipv zondag
+ #dim Datum As %Date
+ If $LG(lbTermijn,2)="A" {
+ Set Datum=$$CALCDATE^vhLib.DataTypes(..RefDate,"A",$LG(lbTermijn,1)) ; dagen
+ } Else {
+ #dim Datum1 As %Date =$$CALCDATE^vhLib.DataTypes(..RefDate,"W","LD")
+ #dim Datum2 As %Date =$$CALCDATE^vhLib.DataTypes(Datum1,"A",$LG(lbTermijn,1)*5)
+ #dim MaxVerlof As %Numeric =$LG(lbTermijn,1)\2
+ Set:MaxVerlof<1 MaxVerlof=1 ; maximaal aantal verlof dagen, per 2 weken is er een extra dag speling
+ Set:Datum2'>(Datum1+($LG(lbTermijn,1)*7)+MaxVerlof) Datum2=Datum1+($LG(lbTermijn,1)*7) ; controleren of de speling MaxVerlof niet overtreden wordt, indien niet dan wordt er met weken gewerkt en niet met arbeidsdagen
+ Set Datum=$$CALCDATE^vhLib.DataTypes(Datum2,"W","LD")-2 ; vrijdag ipv zondag
+ }
Quit Datum
]]>
@@ -220,9 +225,9 @@
Berekenen van de picking
-PRNr
+PRNr:%Integer
@@ -273,9 +278,10 @@
Op welke termijn kunnen de goederen geleverd worden
-PRNr
+PRNr:%String
+%List
Op welke termijn zijn de goederen beschikbaar voor picking
-PRNr
+PRNr:%String
%List
productie
- . Set lbTermijn=..BeschikbaarProductie(PRNr)
- Else Do ;Niet stock
- . Set lbTermijn=..BeschikbaarNietStock(PRNr)
+ If 'StockNietStock,..KLNr,$data(^KPBI("IP",PRNr,..KLNr)) {
+ Set StockNietStock=1
+ }
+ If StockNietStock=1 {
+ Set lbTermijn=..BeschikbaarStock(PRNr)
+ } ElseIf ..IsLadeIndeling(PRNr) {
+ Set lbTermijn=..BeschikbaarLadeIndeling(PRNr)
+ } ElseIf ($P(^KPR(PRNr,0),"\",3)?4.7N)||(..IsHalux(PRNr)) { ;Generisch afgeleid of Halux product -> productie
+ Set lbTermijn=..BeschikbaarProductie(PRNr)
+ } Else {
+ Set lbTermijn=..BeschikbaarNietStock(PRNr)
+ }
Quit lbTermijn
]]>
-PRNr
+PRNr:%String
+%List
KantelTime)
-
- If NaKantelTime {
- Set Termijn = ..MaakTermijnInArbeidsdagen(1)
- } Else {
- Set Termijn = ..MaakTermijnInArbeidsdagen(0)
- }
+ #dim KantelTime As %Time = ..blVerzendWijze.KantelTimeDoorsturen() - ..#OrgaluxOpMaatProdTermijnSeconds
+ #dim NaKantelTime As %Boolean = KantelTime && (..GeefRefTijd() > KantelTime)
+ set Termijn = $select(NaKantelTime:..MaakTermijnInArbeidsdagen(1),1:..MaakTermijnInArbeidsdagen(0))
} Else { // Niet specifiek voor vandaag, dus dit zal een offerte zijn.
Set Termijn = ..MaakTermijnInArbeidsdagen(0)
}
-
Quit Termijn
]]>
@@ -362,7 +367,7 @@
Niet stockproduct
-PRNr
+PRNr:%String
1
%List
expression
-PRNr
+PRNr:%String
1
%Boolean
expression
-PRNr
+PRNr:%String
1
%Boolean
-PRNr
+PRNr:%String
%Boolean
-PRNr
+PRNr:%String
1
%Integer
-PRNr
+PRNr:%String
1
%Integer
Productie afhankelijk
-PRNr
+PRNr:%String
1
%List
1
-PRNr,ProductieDatum
+PRNr:%String,ProductieDatum:%Date
%List
Stockproduct
-PRNr
+PRNr:%String
1
%List
KantelTime):1,1:0)
+ #dim Termijn As %Integer =1
+ If +..RefDate= ##class(TECH.Context).Instance().GeefDateTimeAPI().CurrentDate() {
+ #dim KantelTime As %Time =..blVerzendWijze.KantelTimeOrderIngave()
+ Set Termijn=$select(KantelTime&&($piece(..RefDate,",",2)>KantelTime):1,1:0)
+ }
Quit $LB(Termijn,"A") ; aantal arbeidsdagen
]]>
-expression
1
%Integer
-
-expression
1
%Boolean
-
-expression
AantalArbeidsdagen:%Integer
1
-%List
+