ATKLVH ; Afstand-toegang voor klanten [ 05/30/2002 4:54 PM ] Quit ; STARTATK Set $ZT="ERROR^ATKLVH" Set ^ATK(0,0,"A")=$H If $G(^["LVH,ATK"]ATK) Kill ^["LVH,ATK"]ATK("AMS") Quit ; STOPATK(NoWarn,ToDate,ToTime,PlusMin) New Stop,Tekst,InUse,Warning Set $ZT="ERROR^ATKLVH" Set Warning='$G(NoWarn),ToDate=$G(ToDate),ToTime=$G(ToTime),PlusMin=$G(PlusMin) If 'ToTime Set (ToDate,PlusMin)="" Else Set:'ToDate ToDate=+$H If Warning,$$INUSE(.Tekst) Do Quit:'$G(Stop) .Quit:'$G(^ATK(0,0,"A")) .Do STORE^vhTERMINA() .Write @F11,@F1 .If Tekst=1 Do ..Set Tekst(1)="Klant "_$P(Tekst(1),D)_" ("_$P(Tekst(1),D,2)_")"_" is nog aktief op het ATK-systeem," ..Set Tekst(2)="Wenst u de link toch te verbreken ?" .Do INITLIST,WRITE^vhLIST(.InUse) .Set Stop=$$SCROLL^vhLIST(.InUse)="V" .Do REFRESH^vhTERMINA() Set ^ATK(0,0,"A")="STOP" Set:ToDate ^["LVH,ATK"]ATK("AMS")=ToDate_","_ToTime_D_PlusMin Quit ; CHECKATK Quit:$P($H,",",2)<28800 Quit:$P($H,",",2)>61200 Set $ZT="ERROR^ATKLVH" Quit:$G(^ATK(0,0,"A"))="STOP" If $G(^["LVH,ATK"]ATK) Set ^ATK(0,0,"A")=$H Kill ^["LVH,ATK"]ATK("AMS") Quit ; NOTAKT New Set Q="K" Do ^cA604,INIT^vhTERMINA S X=$$JOBWAIT^cHOSTCMD("NET SEND CW_NTW ""ATK is buiten werking""") S X=$$JOBWAIT^cHOSTCMD("NET SEND PV_W2K ""ATK is buiten werking""") For Quit:$G(^ATK(0,0,"A")) Quit:$G(^ATK(0,0,"A"))="STOP" Do .Do MESSAGE^vhZBCS("CW;PV","ATK is buiten werking",1,50,"IK") .Hang 60 Quit ; INITLIST New R,Top,Left,Bottom,Right,MaxLen Set MaxLen=0 Set:Tekst>1 MaxLen=52 For I=1:1:$O(Tekst(""),-1) Do .Set:$L($P(Tekst(I),D,2)) Tekst(I)=$P(Tekst(I),D)_" ("_$P(Tekst(I),D,2)_")" .Set:$L(Tekst(I))>MaxLen MaxLen=$L(Tekst(I)) Do INIT^vhLIST("ATKLVH","INUSE",.InUse) Set $P(InUse("ID"),"`",2)=$S(Tekst=1:"INUSEONE",1:"INUSEMORE") Set R=InUse("POS"),Top=$P(R,";"),Left=$P(R,";",2),Bottom=$P(R,";",3),Right=$P(R,";",4) If 'Top Set Top=$S(Tekst=1:11,1:12-(Tekst\2)) Set:Top<4 Top=4 If 'Left Set Left=40-(MaxLen\2) If 'Bottom Set Bottom=$S(Tekst=1:12,1:Top+Tekst-1) Set:Bottom>19 Bottom=19 If 'Right Set Right=Left+MaxLen-1 Set R=Top_";"_Left_";"_Bottom_";"_Right Set InUse("POS")=R,$P(InUse("SET"),"`")=R Quit ; INUSE(Users) New Klant,KLNr,KlantInd,KlNaam,WachtRef,Time Kill Users Set KLNr="" For Set KLNr=$O(^ATK("L",+$H,KLNr)) Quit:'KLNr Do .Set KlantInd=^KK1(KLNr),WachtRef="" .For Set WachtRef=$O(^ATK("L",+$H,KLNr,WachtRef)) Quit:WachtRef="" Do ..Set Time="" ..For Set Time=$O(^ATK("L",+$H,KLNr,WachtRef,Time)) Quit:Time="" Do ...If ^ATK("L",+$H,KLNr,WachtRef,Time)=1 Set Klant(KlantInd,WachtRef)="" ...Else Kill Klant(KlantInd,WachtRef) Set KlantInd="",Users=0 For Set KlantInd=$O(Klant(KlantInd)) Quit:KlantInd="" Do .Set KlNaam=$P(^KKL(KlantInd,0),D,2),WachtRef="" .For Set WachtRef=$O(Klant(KlantInd,WachtRef)) Quit:WachtRef="" Do ..Set Users=Users+1,Users(Users)=KlNaam_D_WachtRef Quit Users ; ERROR If $ZE["" Do .Quit:'$G(^ATK(0,0,"A")) .Set ^ATK(0,0,"A")=0 .Do INERROR^ATKMAIL($ZE) Quit ; EXTERN(KLNr) Do STORE^vhTERMINA() Do .New (KLNr,CUserId) .Do ..New KLNr,CUserId ..Do INIT^ATK .Do VT520^ATK(2,0) .Set RplKlAtk=1 .Set:'$G(CUserId) CUserId=$$DEVUSER^vhUSER($I) Set:$L(CUserId,";")>1 CUserId="" .Set UserName=$$USERNAME^vhUSER(CUserId,1),WachtW="" Set:UserName="" UserName="Device "_$I .Do TITEL^ATK .If '$$KLINIT^ATKCUST(KLNr) Do NOJOB^ATK Quit .If '$G(^HULP(%J,"KLINIT","A")) Do NOLOGON^ATKLOGON Quit .Set FP=201 .Write @F,@F1 .Kill sRT,sRB .Do ADD^vhScherm(1,23),COMMAND^ATK .Do SCRNTYP^ATK("",Taal) .Do CLEAN^ATK .Do VT520^ATK() Do REFRESH^vhTERMINA() Quit ; LIDVAN New Set Q="K" Do ^cA604,INIT^vhTERMINA Set KlantId=0 For Set KlantId=$O(^KKL(KlantId)) Quit:KlantId="" Do .Set R=^KKL(KlantId,0),KLNr=$P(R,D),R=^KKL(KlantId,1),LidVan=$P(R,D,13) .Set:LidVan LidVan(LidVan,KLNr)="" Set WachtRef="" For Set WachtRef=$O(^ATK("W",WachtRef)) Quit:WachtRef="" Do .Set UserName=$P(WachtRef,D),R=^ATK("W",WachtRef),KLNr=$P(R,D) .Quit:'$D(^ATK(KLNr,UserName,"K","LV")) .Set LidVan=^ATK(KLNr,UserName,"K","LV") .Kill ^ATK(KLNr,UserName,"K","K") .If 'LidVan Kill ^ATK(KLNr,UserName,"K","LV") Quit .Merge ^ATK(KLNr,UserName,"K","K")=LidVan(LidVan) .Set ^ATK(KLNr,UserName,"K","K",LidVan)="" Quit ;