HADBATCH ;Statistiek portefeuille [ 07/02/2002 11:52 AM ] New %J,LD,LEVNr,Input Set %J=$$%J^vhRtn1() Kill ^HULP(%J) Set LEVNr=6332 ; HALUX Quit:'LEVNr Do INIT Do FETCH Do REFRESH For Do Quit:Input="-"!(Input="CANC") .Set Input=$$SCROLL^vhLIST(.LD) .Set Batch=$S(LD("SELECT"):$P(^HULP(%J,"L",LD("SELECT")),D,2),1:"") .If Input="COM" Set Input="" Do CALL^vhMenu("HADBATCH") .Do EXEC^vhMenu("HADBATCH",.Input) Quit INIT Do INIT^vhLIST("HADBATCH","OVZ",.LD) Quit REFRESH Write @F11,@F1 Do DISPLAY^vhScherm("HADBATCH") Do WRITE^vhLIST(.LD) Quit FETCH New Rec,RecO,Batch,VolgNr,Cnt,Node,Qty,Cap,I ;Node;Piece*5+5;Capaciteitsfactor LF ;KM;1;2\KZ;2;1\DV;3;3 Set (Batch,VolgNr,Cnt)="" For Set Batch=$O(^HADPR("O",Batch)) Quit:Batch="" Do .Set Rec=^HADPR("B",Batch) .Set $P(Rec,D,2)=Batch .For Set VolgNr=$O(^HADPR("O",Batch,VolgNr)) Quit:VolgNr="" Do ..Set RecO=^(VolgNr) ..Set Node=$P(RecO,D,1) ..Set Qty=$P(RecO,D,7) ..Set I=+$P($P($T(LF),Node,2),";",2) ..Set Cap=+$P($P($T(LF),Node,2),";",3) ..Set $P(Rec,D,I*5+5)=$P(Rec,D,I*5+5)+1 ..Set $P(Rec,D,I*5+6)=$P(Rec,D,I*5+6)+Qty ..Set $P(Rec,D,25)=$P(Rec,D,25)+(Cap*Qty) .Set Cnt=Cnt+1 .Set ^HULP(%J,"L",Cnt)=Rec Quit BATCHPOP(Optie) ; Optie : V : Status "InVerwerking" niet opnemen in lijst ; N : onderaand de lijst optie "Nieuw" ; M : Multiple select New X,Y,Batch Set Batch="" Set Y=0 Set Optie=$G(Optie) For Set Batch=$O(^HADPR("B",Batch)) Quit:Batch="" Do .If Optie["V" Quit:$P(^HADPR("B",Batch),D,5) .Set Y=Y+1,Y(Y)=Batch_D_$P(^HADPR("B",Batch),D) If Optie["N" Do .Set Y=Y+1,Y(Y)="&S" .Set Y=Y+1,Y(Y)="N\Bijvoegen" Set X=Batches Set X=$$WILD^vhPOPUP("C;C","KO2-"_$S(Optie["M":"M",1:""),"Batch",.Y,X) If X="N" Do ; Nieuw .Set sFL(1)=D_$H .Do NIEUW^vhScherm("HADBATCHE",,,,,,3) .Set X="" .Quit:'%SC .Set ^HADPR("B",Batch)=sFL(1) .Set X=Batch If X="",Optie["M" Set X=$$BATCHALL Quit X BATCHALL(WildCard) New Batch,X Set (X,Batch)="" For Set Batch=$O(^HADPR("B",Batch)) Quit:Batch="" Do .If $G(WildCard)'="" Quit:$E(Batch,1,$L(WildCard))'=WildCard .Set X=X_";"_Batch Set $E(X)="" Set:X="" X=$O(^HADPR("B",WildCard_" ")) Set:X="" X=$O(^HADPR("B","")) Quit X WIJZIG(Batch) New ModToe Quit:Batch="" Quit:'$D(^HADPR("B",Batch)) Set sFL(1)=^HADPR("B",Batch) Do EDIT^vhScherm("HADBATCHE",,,,,,3) Quit:'%SC Set ModToe=$P(sFL(1),D,4)'=$P(^HADPR("B",Batch),D,4) Set ^HADPR("B",Batch)=sFL(1) Set Rec=^HULP(%J,"L",LD("SELECT")) For I=1,3,4,5 Set $P(Rec,D,I)=$P(sFL(1),D,I) Set ^HULP(%J,"L",LD("SELECT"))=Rec Do LINE^vhLIST(.LD,LD("SELECT")) Do:ModToe MODTOE(Batch) Quit MODTOE(Batch) Quit New %SC,sFL,R,LevWk,VolgNr,TOENr,TLUNr,TLNr,LEVNr,PRNr,Urgentie,Urgent,NUrgent,ModOrd Set R=^HADPR("B",Batch),LevWk=$P(R,D,4),(VolgNr,Urgent,NUrgent,ModOrd)=0 For Set VolgNr=$O(^HADPR("O",Batch,VolgNr)) Quit:VolgNr="" Do .Set R=^HADPR("O",Batch,VolgNr),TOENr=$P(R,D,6),TLUNr=$P(R,D,5),TLNr=^TO("IU",TOENr,TLUNr) .Set LEVNr=$P(^KTO1(TOENr),D),R=^KTO(LEVNr,TOENr,TLNr),PRNr=$P(R,D,2),ModOrd=$L($P(R,D,27)) .Quit:'ModOrd .Set R=$G(^HADPR("P",PRNr,"P")),Urgentie=$L($P(R,D,2)) .Set:'Urgent Urgent=Urgentie Set:'NUrgent NUrgent='Urgentie Set Urgent=$S(Urgent:1,1:"-"),NUrgent=$S(NUrgent:1,1:"-") Do:ModOrd EDIT^vhScherm("HADBATCHLW",,,,,,3) Do:%SC .Set LevWk=$$EXTDATE^vhLib.DataTypes(LevWk,"DW"),VolgNr="" .For Set VolgNr=$O(^HADPR("O",Batch,VolgNr)) Quit:VolgNr="" Do ..Set R=^HADPR("O",Batch,VolgNr),TOENr=$P(R,D,6),TLUNr=$P(R,D,5),TLNr=^TO("IU",TOENr,TLUNr) ..Set LEVNr=$P(^KTO1(TOENr),D),R=^KTO(LEVNr,TOENr,TLNr),PRNr=$P(R,D,2) ..Set R=$G(^HADPR("P",PRNr,"P")),Urgentie=$L($P(R,D,2)) ..Do MODLEVWK^FLOWTOE6(TOENr,TLUNr,LevWk,$S(Urgentie:Urgent,1:NUrgent)) Quit FETCHDTL(Batch,Som) Set VolgNr="" For Set VolgNr=$O(^HADPR("O",Batch,VolgNr)) Quit:VolgNr="" Do .Set RecB=^HADPR("O",Batch,VolgNr) .Set PRNr=$P(RecB,D,3) .Set Qty=$P(RecB,D,7) .Set Type=$P(RecB,D) .Quit:Type="DV" .For Code="B","H","G","T","L","Z","F" Do ..Set RecS=$G(^HADPR("F",$$FABKEYB^HADOPV(RecB),Code)) ..Set Som(Code)=$G(Som(Code)) ..Quit:$P(RecS,D,3)="-" ; Niet van toepassing ..Set Piece=$S(Type="KM":1,1:3)+$S($P(RecS,D,3)="A":0,1:1) ..Set $P(Som(Code),D,Piece)=$P(Som(Code),D,Piece)+Qty .Set $P(Som,D,$S(Type="KM":1,1:3))=$P($G(Som),D,$S(Type="KM":1,1:3))+Qty Quit DISPDTL(Batch) New Som,Txt,I,Code Do FETCHDTL(Batch,.Som) Quit:$D(Som)<10 Set Txt(1)="Omschrijving |geMonteerd |ZndrMontage" Set Txt(2)=" | Wel |Niet | Wel |Niet " Set Txt=2 For Code="B","G","T","L","Z","F" Do .Set Txt=Txt+1 .Set Txt(Txt)=$P("Besteld glas;Herbestelling;Glas geleverd;Tekenen;Lijsten;Zagen;Frezen",";",$F("BHGTLZF",Code)-1) .Set Txt(Txt)=Txt(Txt)_$J("",13-$L(Txt(Txt))) .For I=1:1:4 Set Txt(Txt)=Txt(Txt)_" | "_$J($P(Som(Code),D,I),3,0) Set Txt=Txt+1,Txt(Txt)="&S" Set Txt=Txt+1,Txt(Txt)="Totaal " Set Txt(Txt)=Txt(Txt)_" | "_$J($P(Som,D,1),6,0)_" | "_$J($P(Som,D,3),6,0) Set Txt=$$WILD^vhTXTPOP("C;C","Status batch "_Batch,"Txt") Quit