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 +