83 lines
3.9 KiB
Mathematica
83 lines
3.9 KiB
Mathematica
|
ESPOFFE ;DALISC/CKA- OFFENSE REPORT EDIT;8/92
|
||
|
;;1.0;POLICE & SECURITY;**3,12,15,21**;Mar 31, 1994
|
||
|
EN ;The program will check for CHIEF key.
|
||
|
;If don't have key-Must be completed and unconfidential-OR
|
||
|
;If have key- can edit any OPEN report ORC
|
||
|
D DT^DICRW S ESPVAR=1
|
||
|
I $D(^XUSEC("ESP CHIEF",DUZ)) G ORC
|
||
|
OR S DIC(0)="QAEMZ",DIC("A")="UOR#: ",DIC("S")="I $D(^(5)),$P(^(5),U,2),'$P(^(5),U,4),$P(^(5),U,5),$P(^(0),U,8)=""O""",DIC="^ESP(912,"
|
||
|
D ^DIC
|
||
|
G:$D(DTOUT)!($D(DUOUT))!(X="") EXIT
|
||
|
G:Y<0 OR S ESPDTR=$P(^ESP(912,+Y,0),U,2),(ESPID,ESPOFN)=+Y
|
||
|
G PRT
|
||
|
ORC S DIC(0)="QAEMZ",DIC("A")="UOR#: ",DIC("S")="I $D(^(5)),$P(^(5),U,5),$P(^(0),U,8)=""O""",DIC="^ESP(912,"
|
||
|
D ^DIC G:$D(DTOUT)!($D(DUOUT))!(X="") EXIT G:Y<0 ORC S ESPDTR=$P(^ESP(912,+Y,0),U,2),(ESPID,ESPOFN)=+Y
|
||
|
PRT ;CALLS ESPORP,ESPORP1,ESPORP2- PRINTS THE REPORT
|
||
|
Q S %ZIS="Q" D ^%ZIS G:POP EXIT I '$D(IO("Q")) U IO D START^ESPORP G OK
|
||
|
S ZTRTN="START^ESPORP",ZTSAVE("ESP*")="",ZTDESC="OFFENSE REPORT" D ^%ZTLOAD,HOME^%ZIS
|
||
|
W !!!!
|
||
|
OK G:ESPVAR=4 CLO
|
||
|
S DIR(0)="Y",DIR("A")="Do you want to edit",DIR("B")="YES" D ^DIR K DIR W !!
|
||
|
I $D(DTOUT) W $C(7) G EXIT
|
||
|
I Y G EDIT
|
||
|
;if ESPVAR=0, report is incomplete, resume editing own
|
||
|
;if ESPVAR=1, report could be incomplete or complete, editing own or any if chief
|
||
|
;if ESPVAR=2, opened a closed report
|
||
|
;if ESPVAR=3, created a report
|
||
|
;if ESPVAR=4, reviewing a completed report
|
||
|
I (ESPVAR=0)!(ESPVAR=3) G COMP
|
||
|
I ESPVAR=1,$P($G(^ESP(912,ESPOFN,5)),U,2),$D(^XUSEC("ESP CHIEF",DUZ)) G CLO
|
||
|
I ESPVAR=1,$D(^XUSEC("ESP CHIEF",DUZ)) G COMP
|
||
|
G EXIT
|
||
|
EDIT ;CALL DIE TO EDIT OFFENSE REPORT
|
||
|
S DIE="^ESP(912,",DA=ESPOFN,DR="[ESP OFFENSE REPORT EDIT 1"
|
||
|
L +^ESP(912,DA):1 I '$T W !,"Another user is editing this record!!" G EXIT
|
||
|
D ^DIE
|
||
|
S DIE="^ESP(912,",DA=ESPOFN,DR="[ESP OFFENSE REPORT EDIT 2"
|
||
|
D ^DIE
|
||
|
S DIE="^ESP(912,",DA=ESPOFN,DR="[ESP OFFENSE REPORT EDIT 3"
|
||
|
D ^DIE
|
||
|
S DIE="^ESP(912,",DA=ESPOFN,DR="[ESP OFFENSE REPORT 4"
|
||
|
D ^DIE
|
||
|
S DIE="^ESP(912,",DA=ESPOFN,DR="[ESP OFFENSE REPORT 5"
|
||
|
D ^DIE
|
||
|
I ESPVAR=0!(ESPVAR=3) G COMP
|
||
|
I ESPVAR=1,$P($G(^ESP(912,ESPOFN,5)),U,2),$D(^XUSEC("ESP CHIEF",DUZ)) G CLO
|
||
|
I ESPVAR=2 G CLO
|
||
|
G EXIT
|
||
|
COMP ;ASK IF WANT TO COMPLETE REPORT OR NOT
|
||
|
W !! S DIR(0)="Y",DIR("A")="Is the report completed",DIR("?")="Answer YES or NO.",DIR("??")="^W !,""Answer NO if you don't wish to complete the report at this time. Answer YES if you do."""
|
||
|
D ^DIR K DIR
|
||
|
I 'Y!($D(DIRUT)) G EXIT
|
||
|
D ^ESPVAL
|
||
|
I $P(^ESP(912,ESPOFN,5),U,2) D SEND
|
||
|
G EXIT
|
||
|
CLO ;ASK IF WANT TO CLOSE THE REPORT
|
||
|
I ('$D(^XUSEC("ESP CHIEF",DUZ))&'$D(^XUSEC("ESP SUPERVISOR",DUZ))) G EXIT
|
||
|
I ESPVAR=4 D SAT I UNSAT G EXIT
|
||
|
G:$D(DTOUT) EXIT
|
||
|
I '$P(^ESP(912,ESPOFN,5),U,2) W !!,$C(7),"The report must be completed before closing!" G EXIT
|
||
|
CLO1 ;entry point from 'close an offense report' option
|
||
|
S DIR(0)="Y",DIR("A")="Do you want to close the report",DIR("?")="Answer YES or NO.",DIR("??")="^W !,""Answer NO if you don't want to close the report. Answer YES if you do."""
|
||
|
D ^DIR K DIR
|
||
|
I 'Y!($D(DIRUT)) G EXIT
|
||
|
I Y S $P(^ESP(912,ESPOFN,0),U,8)="C" W !!,"The report is now closed."
|
||
|
L -^ESP(912,ESPOFN)
|
||
|
EXIT K %ZIS,DA,DIC,DIE,DIR,DIRUT,DR,DTOUT,DUOUT,ESPDTR,ESPID,ESPN,ESPNO,ESPOFN,ESPVAR,ESPY,POP,UNSAT,Y,ZTDESC,ZTRTN,ZTSAVE Q
|
||
|
SEND S ESPDTR=$P(^ESP(912,ESPOFN,0),U,2),XMB(1)=$$CONV^ESPUOR(ESPDTR),XMB(2)=$P($G(^VA(200,+$P(^ESP(912,ESPOFN,0),U,6),0)),U),XMB(3)=$P($G(^VA(200,+$P($G(^ESP(912,ESPOFN,5)),U,3),0)),U)
|
||
|
S XMB="ESP UOR COMPLETED" D EN^XMB
|
||
|
QUIT
|
||
|
ASK2 ;CALLED FROM ESPOFFC- COMPLETE A REPORT
|
||
|
S DIR(0)="Y",DIR("A")="Do you want to print the report first",DIR("B")="NO" D ^DIR K DIR
|
||
|
I $D(DTOUT) W $C(7) G EXIT
|
||
|
I 'Y G OK
|
||
|
G PRT
|
||
|
SAT ;ASK IF REPORT IS COMPLETED FULLY AND SEND BULLETIN TO OFFICER
|
||
|
;IF ADDITIONAL INFO NEEDED
|
||
|
S UNSAT=0
|
||
|
S DIR(0)="Y",DIR("A")="Is the report completed fully",DIR("B")="YES" D ^DIR K DIR
|
||
|
Q:Y!($D(DIRUT))
|
||
|
S ESPDTR=$P(^ESP(912,ESPOFN,0),U,2),XMB(1)=$$CONV^ESPUOR(ESPDTR),XMB="ESP SUPERVISOR REVIEW",XMY($P(^ESP(912,ESPOFN,0),U,6))="" D EN^XMB
|
||
|
S UNSAT=1
|
||
|
Q
|