Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: ACRFAPVS

ACRFAPVS.m

Go to the documentation of this file.
  1. ACRFAPVS ;IHS/OIRM/DSD/THL,AEF - SET APPROVAL SEQUENCE FOR EACH DOC; [ 10/4/2005 9:44 AM ]
  1. ;;2.1;ADMIN RESOURCE MGT SYSTEM;**19**;NOV 05, 2001
  1. ;;ROUTINE CONTROLS CREATION OF ALL APPROVAL SEQUENCES FOR DOCUMENTS
  1. ;;WHICH ARE SENT FOR APPROVAL
  1. EN ;EP;TO KILL,CREATE AND UPDATE DOCUMENTS IN THE APPROVAL SEQUENCE
  1. I $E($G(IOST),1,2)="C-",$D(^ACRAPVS("AB",ACRDOCDA)),'$D(ACRSCHK),"^103^210^349^326^"'[(U_ACRREF_U),'$D(ACRCHANG) D DISPLAY Q:$D(ACRQUIT)
  1. I $P(^ACRDOC(ACRDOCDA,0),U,4)=35,$P($G(ACRDOC0),U,13) S ACRREFDA=$P(ACRDOC0,U,13)
  1. E S ACRREFDA=$P(^ACRDOC(ACRDOCDA,0),U,13)
  1. S ACRCANDA=$P(^ACRDOC(ACRDOCDA,"REQ"),U,10)
  1. S ACRREF=$P(^AUTTDOCR(ACRREFDA,0),U)
  1. D KILL:$D(^ACRAPVS("AB",ACRDOCDA))
  1. D CREATE
  1. D UP^ACRFPRC3
  1. EXIT K ACRORDER,ACRAPDA,ACRTYPDA,ACRTX,ACRFINAL,ACRGLB,ACRPC,ACRSDBUS
  1. Q
  1. CREATE ;CREATES NEW APPROVALS FOR A DOCUMENT
  1. S ACRDOC0=^ACRDOC(ACRDOCDA,0)
  1. S ACRLBDA=$P(ACRDOC0,U,6)
  1. I ACRREFX=130,$E(^ACROBL(ACRDOCDA,"APV"))="A",$P(^("APV"),U)="A" S ACRREFX=600
  1. I ACRREFX=103!(ACRREFX=349)!(ACRREFX=326)!(ACRREFX=600) S ACRTX=$S(ACRREFX=600:19,1:11)
  1. E D
  1. .S ACRTX=$P(ACRDOC0,U,4)
  1. .S ACRTX=$S($P(ACRDOC0,U,19):31,1:ACRTX)
  1. I '$G(ACRADA) D Q:'$G(ACRADA)
  1. .I $G(ACRPODA) S ACRADA=$P(^ACRPO(ACRPODA,0),U,19)
  1. .I '$G(ACRPODA) D
  1. ..S ACRPODA=$P(ACRDOC0,U,8)
  1. ..S:ACRPODA ACRADA=$P(^ACRPO(ACRPODA,0),U,19)
  1. ..S:'ACRADA ACRADA=1
  1. S ACRAPVT=0
  1. F S ACRAPVT=$O(^ACRDOCA("AC",ACRADA,ACRTX,ACRAPVT)) Q:'ACRAPVT D
  1. .I ACRAPVT=46!(ACRAPVT=1) D SADBUS I '$D(ACRSDBUS),ACRAPVT=46 Q
  1. .I ACRAPVT=33!(ACRAPVT=34),$P(^AUTTCAN(ACRCANDA,0),U,3)'=1 Q
  1. .S ACRORDER=$O(^ACRDOCA("AC",ACRADA,ACRTX,ACRAPVT,""))
  1. .S ACRTYPDA=$O(^ACRDOCA("AC",ACRADA,ACRTX,ACRAPVT,ACRORDER,""))
  1. .S ACRFINAL=$P(^ACRDOCA(ACRTYPDA,0),U,4)
  1. .S ACRGLB=$P(^ACRAPVT(ACRAPVT,"DT"),U)
  1. .S ACRPC=$P(^ACRAPVT(ACRAPVT,"DT"),U,2)
  1. .S ACRUSER=$P($G(^ACRDOC(ACRDOCDA,ACRGLB)),U,ACRPC)
  1. .I ACRAPVT=1,'$D(ACRSDBUS) S ACRORDER=1
  1. .I ACRTX=35,ACRFINAL="Y" D
  1. ..D PROP
  1. ..S:$D(ACRPROP) ACRPROP=ACRORDER,ACRORDER=ACRORDER+2
  1. .D SETAPP
  1. ; Hardcode approval signature sequence for Property Clearance and Local Property Manager on 3100 CC requests
  1. I $D(ACRPROP) D
  1. .F ACRORDER=ACRPROP
  1. .; Property Clearance
  1. .S ACRAPVT=31
  1. .S ACRFINAL=""
  1. .S ACRGLB=$P(^ACRAPVT(ACRAPVT,"DT"),U)
  1. .S ACRPC=$P(^ACRAPVT(ACRAPVT,"DT"),U,2)
  1. .S ACRUSER=$P($G(^ACRDOC(ACRDOCDA,ACRGLB)),U,ACRPC)
  1. .D SETAPP
  1. .K ACRPROP ; ACR*2.1*19.06 IM18610
  1. .Q ; ACR*2.1*19.06 IM18610
  1. .S ACRORDER=ACRPROP+1
  1. .; Local Property Manager
  1. .S ACRAPVT=6
  1. .S ACRFINAL=""
  1. .S ACRGLB=$P(^ACRAPVT(ACRAPVT,"DT"),U)
  1. .S ACRPC=$P(^ACRAPVT(ACRAPVT,"DT"),U,2)
  1. .S ACRUSER=$P($G(^ACRDOC(ACRDOCDA,ACRGLB)),U,ACRPC)
  1. .D SETAPP
  1. .K ACRPROP
  1. Q
  1. SETAPP ;EP;TO CREATE APPROVAL ENTRY
  1. S X=ACRDOCDA
  1. S DIC="^ACRAPVS("
  1. S DIC(0)="L"
  1. S DIC("DR")="5////"_ACRFINAL_";.03////"_ACRAPVT_";.04////"_ACRORDER_";.05////"_ACRLBDA_";.06////"_ACRREFDA_";2////"_$S(ACRUSER:ACRUSER,1:"")_";.08////"_DUZ
  1. S:$D(ACRDATE) DIC("DR")=DIC("DR")_";3////"_ACRDATE
  1. S:$D(ACRRDATE) DIC("DR")=DIC("DR")_";8////"_ACRRDATE
  1. S:$D(ACRRRNO) DIC("DR")=DIC("DR")_";9////"_ACRRRNO
  1. K ACRORDER,ACRTYPDA,ACRGLB,ACRPC
  1. I ACRAPVT=41 D I $D(ACRQUIT)!$D(ACROUT) K ACRQUIT Q
  1. .N ACRAPDA
  1. .S ACRAPDA=0
  1. .F S ACRAPDA=$O(^ACRAPVS("ANXT",ACRAPVT,ACRUSER,ACRAPDA)) Q:'ACRAPDA I ^(ACRAPDA)=ACRDOCDA S ACRQUIT="" Q
  1. D FILE^ACRFDIC
  1. Q
  1. KILL ;EP;TO KILL EXISTING APPROVALS FOR A DOCUMENT
  1. N ACRAPVT,ACRINDV,ACRAPDA,X,Y
  1. S ACRAPDA=0
  1. S DIK="^ACRAPVS("
  1. F S ACRAPDA=$O(^ACRAPVS("AB",ACRDOCDA,ACRAPDA)) Q:'ACRAPDA D
  1. .I '$D(^ACRAPVS(ACRAPDA,0))!'$D(^ACRAPVS(ACRAPDA,"DT")) D Q
  1. ..K ^ACRAPVS(ACRAPDA,"DT")
  1. ..K ^ACRAPVS(ACRAPDA,0),^ACRAPVS("AB",ACRDOCDA,ACRAPDA)
  1. .S X=^ACRAPVS(ACRAPDA,0)
  1. .S Y=^ACRAPVS(ACRAPDA,"DT")
  1. .Q:ACRREFDA'=$P(X,U,6)
  1. .S ACRAPVT=$P(X,U,3)
  1. .S ACRORD=$P(X,U,4)
  1. .S ACRINDV=$P(Y,U,2)
  1. .K ^ACRAPVS("ANXT",+ACRAPVT,+ACRINDV,+ACRAPDA)
  1. .D NOW^%DTC
  1. .S DA=ACRAPDA
  1. .S DIE="^ACRAPVS("
  1. .S DR=".07////"_ACRDOCDA_";.1////"_%_";.09////"_DUZ
  1. .D DIE^ACRFDIC
  1. .K ^ACRAPVS("AB",ACRDOCDA,+ACRAPDA)
  1. .K ^ACRAPVS("AORDR",ACRDOCDA,+ACRORD,+ACRAPDA)
  1. .K ^ACRAPVS("AC",ACRDOCDA,+ACRINDV,+ACRAPDA)
  1. .K ACRAPVT,ACRORD
  1. K ^ACRAPVS("AORDR",ACRDOCDA)
  1. I $D(^ACRTVAL(ACRDOCDA)) D
  1. . S DA=ACRDOCDA
  1. . S DIE="^ACRTVAL("
  1. . S DR=".04///^S X=""@"""
  1. . D ^DIE
  1. Q
  1. SADBUS ;EP;TO DETERMIN IF SADBUS SIGNATURE IS REQUIRED
  1. N X
  1. S X=$E($P(^ACRDOC(ACRDOCDA,"PO"),U,2))
  1. Q:X="G"!(X="V")
  1. I $P($G(^ACRDOC(ACRDOCDA,"PO")),U,5),$D(^AUTTVNDR($P(^("PO"),U,5),11)),$P(^(11),U,27)="A1" Q
  1. N X,Y
  1. S (X,Y)=0
  1. F S X=$O(^ACRSS("J",ACRDOCDA,X)) Q:'X S Y=Y+$P($G(^ACRSS(X,"DT")),U,4)
  1. S:Y>2499.9999 ACRSDBUS=""
  1. Q
  1. DISPLAY ;DISPLAY APPROVALS PRIOR TO KILLING AND RECREATING APPROVALS
  1. K ACRQUIT
  1. N X
  1. S X=0
  1. F S X=$O(^ACRAPVS("AB",ACRDOCDA,X)) Q:'X I $G(ACRREFDA)=$P($G(^ACRAPVS(X,0)),U,6) S ACRQUIT="" Q
  1. Q:'$D(ACRQUIT)
  1. K ACRQUIT
  1. D ^ACRFPAPV
  1. S DIR(0)="YO"
  1. S DIR("A",1)="Are you certain you want to send"
  1. S DIR("A")="this document for approval"
  1. S DIR("B")="NO"
  1. W !!,"Sending this document for approval will delete any approvals currently listed."
  1. W !
  1. D DIR^ACRFDIC
  1. I $G(Y)'=1 S ACRQUIT=""
  1. Q
  1. PROP ;DETERMINE IF CREDIT CARD ITEMS INCLUDE EQUIPMENT AND INCLUDE
  1. ;PROPERTY MGT SIGNATURE IF SO
  1. K ACRPROP
  1. N X,Y
  1. S X=0
  1. F S X=$O(^ACRSS($S(ACRREFX=116&($P(^ACRDOC(ACRDOCDA,0),U,4)'=35):"C",ACRREFX=116&($P(^ACRDOC(ACRDOCDA,0),U,4)=35&($P($G(^ACROBL(ACRDOCDA,"APV")),U)'="A")):"C",1:"J"),ACRDOCDA,X)) Q:'X D
  1. .S Y=$P($G(^ACRSS(X,0)),U,4)
  1. .S Y=$P($G(^AUTTOBJC(+Y,0)),U)
  1. .I $E(Y,1,2)=31 S ACRPROP=""
  1. Q