EWORDSTA ;Ordset status statistiek [ 02/12/99 10:01 AM ] Kill D INIT^vhTERMINA Goto FORCAST ; Definitie van de tijden Qty;Tijd in sec GVP ;999999;100\8;80\6;70\4;50\2;30\1;20 NVP ;999999;100\8;40\6;30\4;20\2;15 STUK ;999999;100\500;80\100;70\50;60\20;50\10;30\5;20 WEGZET ;300 FORCAST New Def,Cnt,Txt,X Do DEF(.Def) Do FETCH(.Cnt,.Def) Set Txt(1)="Orders : "_$G(Cnt("BON")) Set Txt(2)="Orderlijnen : "_$G(Cnt("OL"))_" (opgesplits in kinderen)" Set Txt(3)="" Set Txt(4)="Tijdsraming : "_$$EXTTIME^vhLib.DataTypes($G(Cnt("TIJD"))) Set:$G(Cnt("OL")) Txt(5)="Gemiddeld : "_$J($G(Cnt("TIJD"))/Cnt("OL"),0,0)_" sec." Set X=$$WILD^vhTXTPOP("C;C","Tijdsraming","Txt") Quit FETCH(Cnt,Def) New CONSNr,ORDNr,OLUNr,SOLNr,Rec Kill Cnt Set (CONSNr,ORDNr,OLUNr,SOLNr)="" For Set CONSNr=$O(^ORDW("D",CONSNr)) Quit:CONSNr="" Do .Set Rec=^(CONSNr) .Quit:$P(Rec,D,20)'="W"&($P(Rec,D,20)'="P") .Set Cnt("BON")=$G(Cnt("BON"))+1 .Set Cnt("TIJD")=$G(Cnt("TIJD"))+$P($T(WEGZET),";",2) .For Set ORDNr=$O(^ORDW("D",CONSNr,ORDNr)) Quit:ORDNr="" Do ..For Set OLUNr=$O(^ORDW("D",CONSNr,ORDNr,OLUNr)) Quit:OLUNr="" Do ...For Set SOLNr=$O(^ORDW("D",CONSNr,ORDNr,OLUNr,SOLNr)) Quit:SOLNr="" Do ....Set Rec=^(SOLNr) ....Quit:$P(Rec,D,2)'="W" ; Nog niet of niet meer in WMS ....Set PRNr=$P(Rec,D) ....Set Qty=$P(Rec,D,4) ....Set Cnt("TIJD")=$G(Cnt("TIJD"))+$$SELDEF(PRNr,Qty,.Def) ....Set Cnt("OL")=$G(Cnt("OL"))+1 Quit DEF(Def) New Node,Key,I For Key="GVP","NVP","STUK" Do .Set Node=$P($T(@Key),";",2,99) .For I=1:1:$L(Node,"\") Set Def(Key,$P($P(Node,"\",I),";"))=$P($P(Node,"\",I),";",2) Quit SELDEF(PRNr,Qty,Def) New RecJ,GVP,NVP,GVPQty,NVPQty,Tijd Set RecJ=^KPR(PRNr,$O(^KPR(PRNr,"J"))) ;Write !,PRNr," ",$P(^KPR(PRNr,0),D)," ",Qty," GVP:",GVP," NVP:",NVP Set GVP=$P(RecJ,D,16) Set NVP=$P(RecJ,D,15) Set (GVPQty,NVPQty)=0 Set:GVP GVPQty=Qty\GVP Set Qty=Qty-(GVPQty*GVP) Set:NVP NVPQty=Qty\NVP Set Qty=Qty-(NVPQty*NVP) Set Tijd=0 Set:GVPQty Tijd=Tijd+Def("GVP",$O(Def("GVP",GVPQty-1))) Set:NVPQty Tijd=Tijd+Def("NVP",$O(Def("NVP",NVPQty-1))) Set:Qty Tijd=Tijd+Def("STUK",$O(Def("STUK",Qty-1))) ;Write:GVPQty !,"GVP:",GVP," aantal:",GVPQty," tijd:",Def("GVP",$O(Def("GVP",GVPQty-1))) ;Write:NVPQty !,"NVP:",NVP," aantal:",NVPQty," tijd:",Def("NVP",$O(Def("NVP",NVPQty-1))) ;Write:Qty !,"Stuk aantal:",Qty," tijd:",Def("STUK",$O(Def("STUK",Qty-1))) Quit Tijd