Index: APPS/common/impl/StockOverKinderen.cls.xml =================================================================== diff -u -r994 -r1010 --- APPS/common/impl/StockOverKinderen.cls.xml (.../StockOverKinderen.cls.xml) (revision 994) +++ APPS/common/impl/StockOverKinderen.cls.xml (.../StockOverKinderen.cls.xml) (revision 1010) @@ -1,22 +1,23 @@ - + %Prod.Product 1 %RegisteredObject -62189,58400.222939 +62199,57081.090967 62179,29563.115053 0 + +%Integer +1 + + %Date 1 - -%Integer - - APPS.common.enu.StockType 1 @@ -72,17 +73,18 @@ -PRNr +PRNr:%Integer 1 %String -PRNr +PRNr:%Integer 1 %String -PRNr +PRNr:%Integer 1 %String -PRNr +PRNr:%Integer 1 %String -Moeder +MoederPRNr:%Integer %ArrayOfDataTypes -Kind +KindPRNr:%Integer %ArrayOfDataTypes - -Moeder -%ArrayOfDataTypes - - - +1 %ArrayOfDataTypes 0 do arMoedersInOrder.SetAt(AantalInOrder,Moeder) + set KindPRNr = "" + for { set KindPRNr = ..Kinderen.Next(KindPRNr) Quit:KindPRNr="" + set arMoeders = ..BepaalMoeders(KindPRNr) + set MoederPRNr = "" + for { set MoederPRNr = arMoeders.Next(MoederPRNr) Quit:MoederPRNr="" + if 'arMoedersInOrder.IsDefined(MoederPRNr) { + set AantalInOrder = ..AantalInOrder(MoederPRNr) + if AantalInOrder>0 do arMoedersInOrder.SetAt(AantalInOrder,MoederPRNr) + } } } quit arMoedersInOrder @@ -218,17 +194,16 @@ 1 @@ -237,11 +212,10 @@ %ArrayOfDataTypes @@ -250,28 +224,25 @@ %ArrayOfDataTypes @@ -280,11 +251,11 @@ - + Index: APPS/common/impl/StockOverKinderenObj.cls.xml =================================================================== diff -u --- APPS/common/impl/StockOverKinderenObj.cls.xml (revision 0) +++ APPS/common/impl/StockOverKinderenObj.cls.xml (revision 1010) @@ -0,0 +1,330 @@ + + + +%Prod.Product +1 +%RegisteredObject +62199,57609.11659 +62179,29563.115053 +0 + + +DOM.PM.Product +1 + + + +DOM.PM.ProductAPI +1 + + + +%Date +1 + + + +APPS.common.enu.StockType +1 + + + +DOM.PM.Bouwstenen.BouwsteenKind +array +1 + + + +%Integer +array +1 + + + +%Integer +array +1 + + + +%Integer +array +1 + + + +%Integer +array +1 + + + +MoederProduct:DOM.PM.Product,StockType:APPS.common.enu.StockType,Datum:%Date="" +1 +1 +%Status + + + + +StockType:APPS.common.enu.StockType + + + + +Product:DOM.PM.Product +1 +%String + + + + +Product:DOM.PM.Product +1 +%String + + + + +Product:DOM.PM.Product +1 +%String + + + + +Product:DOM.PM.Product +1 +%String + + + + +%String + + + + +Moeder:DOM.PM.Product +%ArrayOfDataTypes + + + + +KindProduct:DOM.PM.Product +%ArrayOfDataTypes + + + + +Moeder +%ArrayOfDataTypes + + + + +1 +%ArrayOfDataTypes +0 do arMoedersInOrder.SetAt(AantalInOrderData,MoederPRNr) + } + } + } + quit arMoedersInOrder +]]> + + + +1 + + + + +%ArrayOfDataTypes + + + + +%ArrayOfDataTypes + + + + + + + + + AantalMogelijk) { + set AantalMoedersMogelijk = AantalMogelijk + } + } + quit +AantalMoedersMogelijk +]]> + + + + Index: APPS/common/StockNiveauService.cls.xml =================================================================== diff -u -r946 -r1010 --- APPS/common/StockNiveauService.cls.xml (.../StockNiveauService.cls.xml) (revision 946) +++ APPS/common/StockNiveauService.cls.xml (.../StockNiveauService.cls.xml) (revision 1010) @@ -1,14 +1,14 @@ - + 1 -62173,34264.890788 +62195,38670.912329 0 1 -PRNr:%Integer,Datum:%Date="",Magazijn:APPS.common.enu.MagazijnMetStock="" -Product:DOM.PM.Product,Datum:%Date="",Magazijn:APPS.common.enu.MagazijnMetStock="" + @@ -62,5 +62,5 @@ %Float - + 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 ]]> - + Index: APPS/common/impl/StockNiveauServiceObj.cls.xml =================================================================== diff -u --- APPS/common/impl/StockNiveauServiceObj.cls.xml (revision 0) +++ APPS/common/impl/StockNiveauServiceObj.cls.xml (revision 1010) @@ -0,0 +1,263 @@ + + + +TECH.Error +1 +APPS.common.StockNiveauService,%RegisteredObject +62199,55689.054193 +62173,62721.245468 +0 + + + +Bij de berekeningen wordt er momenteel nog geen rekening gehouden met magazijn waarin de goederen zich bevinden. +%Date +1 + + + +APPS.common.enu.MagazijnMetStock +1 + + + +DOM.PM.Product +1 + + + +%Integer +1 + + + +%Integer +1 + + + +%Integer +1 + + + +%Integer +1 + + + +%Integer +1 + + + +%Integer +1 + + + +%Integer +1 + + + +APPS.common.impl.StockOverKinderen +1 + + + +Product:DOM.PM.Product,Datum:%Date="",Magazijn:APPS.common.enu.MagazijnMetStock="" +1 +1 +%Status + + + + +APPS.common.dto.StockNiveaus + + + + +%Float + + + + +%Float + + + + +%Float + + + + +%Float + + + + +%Float +(..Datum) ) ) + set Result = Result + OrderLijn.GeefAantal() + } + } + else { + set Result = +$piece($get(^PRSTOCK("D",..Product.GeefPRNr())),"\",2) + } + set ..AantalInReservatie = Result + + quit Result +]]> + + + +%Float +(..Datum) ) ) + set Result = Result + ToelevLijn.GeefAantal() + } + } + else { set Result = +$piece($piece(^KPR(..Product.GeefPRNr(),0),"\",17),"#",1) } + + set ..AantalInToelevering = Result + + quit Result +]]> + + + +%Float +(..Datum) ) ) + set Result = Result + OrderLijn.GeefAantal() + } + } + else { set Result = +$piece($get(^PRSTOCK("D",..Product.GeefPRNr())),"\",3) } + + set ..AantalInOrder = Result + quit Result +]]> + + + +