Index: APPS/common/impl/StockNiveauService.cls.xml =================================================================== diff -u -r949 -r1010 --- APPS/common/impl/StockNiveauService.cls.xml (.../StockNiveauService.cls.xml) (revision 949) +++ APPS/common/impl/StockNiveauService.cls.xml (.../StockNiveauService.cls.xml) (revision 1010) @@ -1,20 +1,16 @@ - + TECH.Error 1 APPS.common.StockNiveauService,%RegisteredObject -62173,41115.064929 +62199,55366.581181 +62173,62721.245468 0 - + Bij de berekeningen wordt er momenteel nog geen rekening gehouden met magazijn waarin de goederen zich bevinden. -%Integer -1 - - - %Date 1 @@ -24,8 +20,8 @@ 1 - -DOM.PM.Product + +%Integer 1 @@ -64,16 +60,20 @@ 1 + +APPS.common.impl.StockOverKinderen +1 + + PRNr:%Integer,Datum:%Date="",Magazijn:APPS.common.enu.MagazijnMetStock="" 1 1 %Status APPS.common.dto.StockNiveaus @@ -101,9 +124,9 @@ quit:$length(..Fysisch) ..Fysisch set Result = 0 - if ..Product.IsStockOverKinderen() { - set implStockOverKinderen = ##class(APPS.common.impl.StockOverKinderen).%New(..PRNr,$$$enuStockType.Fysisch()) - set Result = implStockOverKinderen.Beschikbaarheid() + if $data(^PRBS("BS",..PRNr))>0 { + do ..implStockOverKinderen.SetStockType($$$enuStockType.Fysisch()) + set Result = ..implStockOverKinderen.Beschikbaarheid() } else { set Result = +$piece(^KPR(..PRNr,0),"\",14) } @@ -119,9 +142,9 @@ quit:$length(..FysischMinReservatie) ..FysischMinReservatie set Result = 0 - if ..Product.IsStockOverKinderen() { - set implStockOverKinderen = ##class(APPS.common.impl.StockOverKinderen).%New(..PRNr,$$$enuStockType.FysischMinReservaties(),..Datum) - set Result = implStockOverKinderen.Beschikbaarheid() + if $data(^PRBS("BS",..PRNr))>0 { + do ..implStockOverKinderen.SetStockType($$$enuStockType.FysischMinReservaties()) + set Result = ..implStockOverKinderen.Beschikbaarheid() } else { set Result = ..GeefFysischeStock()-..GeefAantalInReservatie() } @@ -137,9 +160,9 @@ quit:$length(..Praktisch) ..Praktisch set Result = 0 - if ..Product.IsStockOverKinderen() { - set implStockOverKinderen = ##class(APPS.common.impl.StockOverKinderen).%New(..PRNr,$$$enuStockType.Praktisch(),..Datum) - set Result = implStockOverKinderen.Beschikbaarheid() + if $data(^PRBS("BS",..PRNr))>0 { + do ..implStockOverKinderen.SetStockType($$$enuStockType.Praktisch()) + set Result = ..implStockOverKinderen.Beschikbaarheid() } else { set Result = ..GeefFysischeStock() - ..GeefAantalInOrder()} @@ -155,10 +178,9 @@ quit:$length(..Theoretisch) ..Theoretisch set Result = 0 - if ..Product.IsStockOverKinderen() { - set implStockOverKinderen = ##class(APPS.common.impl.StockOverKinderen).%New(..PRNr,$$$enuStockType.Theoretisch(),..Datum) - - set Result = implStockOverKinderen.Beschikbaarheid() + if $data(^PRBS("BS",..PRNr))>0 { + do ..implStockOverKinderen.SetStockType($$$enuStockType.Theoretisch()) + set Result = ..implStockOverKinderen.Beschikbaarheid() } else { set Result = ..GeefPraktischeStock() + ..GeefAantalInToelevering() } @@ -175,12 +197,18 @@ set Result = 0 if $length(..Datum) { - set itProductOrderLijnen = ##class(APPS.PM.ProductOpOrderLijnIt).%New(..PRNr) - while itProductOrderLijnen.HasNext() { - set OrderLijn = itProductOrderLijnen.Next() - continue:($$$Not(OrderLijn.IsInReservatie())) - continue:( ( $length(..Datum) ) && ( OrderLijn.GeefLeverdag()>(..Datum) ) ) - set Result = Result + OrderLijn.GeefAantal() + set idxWNode = "W 0.0R" + for { set idxWNode = $order(^KPR(..PRNr,idxWNode)) Quit:'$$$StartsWith(idxWNode,"W 0.0R") + set OrderNr = $extract(idxWNode,18,23) + set OrderLijnNr = $translate($extract(idxWNode,24,26)," ","")+100 + If ..IsInReservatie(OrderNr,OrderLijnNr) { + set Rec = ^KPR(..PRNr,idxWNode) + set Leverdag = $P(Rec,"\",2) + if (Leverdag<..Datum) { + set Aantal = $piece(Rec,"\",1) + set Result = Result + Aantal + } + } } } else { @@ -192,49 +220,69 @@ ]]> - + %Float (..Datum) ) ) - set Result = Result + ToelevLijn.GeefAantal() + set idxWNode = "W 0.0R" + for { set idxWNode = $Order(^KPR(..PRNr,idxWNode)) Quit:'$$$StartsWith(idxWNode,"W 0.0R") + set OrderNr = $extract(idxWNode,18,23) + set OrderLijnNr = $translate($extract(idxWNode,24,26)," ","")+100 + If '..IsInReservatie(OrderNr,OrderLijnNr) { + set Rec = ^KPR(..PRNr,idxWNode) + set Leverdag = $P(Rec,"\",2) + if (Leverdag<..Datum) { + set Aantal = $piece(Rec,"\",1) + set Result = Result + Aantal + } + } } } - else { set Result = +$piece($piece(^KPR(..PRNr,0),"\",17),"#",1) } + else { set Result = +$piece($get(^PRSTOCK("D",..PRNr)),"\",3) } - set ..AantalInToelevering = Result - + set ..AantalInOrder = Result quit Result ]]> - + +OrderNr,OrderLijnNr +1 + + + + %Float (..Datum) ) ) - set Result = Result + OrderLijn.GeefAantal() + set idxWNode = "W 0.0T" + for { set idxWNode = $order(^KPR(..PRNr,idxWNode)) Quit:'$$$StartsWith(idxWNode,"W 0.0T") + set Rec = ^KPR(..PRNr,idxWNode) + set Leverdag = $$INTDATE^vhDTyp($piece(Rec,"\",6),"DW") + if (Leverdag<..Datum) { + set Aantal = $piece(Rec,"\",4) + set Result = Result + Aantal + } } } - else { set Result = +$piece($get(^PRSTOCK("D",..PRNr)),"\",3) } + else { set Result = +$piece($piece(^KPR(..PRNr,0),"\",17),"#",1) } - set ..AantalInOrder = Result + set ..AantalInToelevering = Result + quit Result ]]> - +