204 lines
8.6 KiB
Mathematica
204 lines
8.6 KiB
Mathematica
|
OOPSGUI6 ;WIOFO/LLH-RPC routines for ASISTS Gui ;9/18/01
|
||
|
;;2.0;ASISTS;**4,8,7**;Jun 03, 2002
|
||
|
;
|
||
|
UNIGET(RESULTS) ; Returns entries in the Union table
|
||
|
N DATA,CNT,SUP,UIEN,UNI
|
||
|
S CNT=0,UNI=""
|
||
|
F S UNI=$O(^OOPS(2263.7,"B",UNI)) Q:UNI="" D
|
||
|
.S UIEN=0
|
||
|
.F S UIEN=$O(^OOPS(2263.7,"B",UNI,UIEN)) Q:UIEN="" D
|
||
|
..S DATA=$G(^OOPS(2263.7,UIEN,0))
|
||
|
..S SUP=$$GET1^DIQ(200,$P($G(DATA),U,3),.01)
|
||
|
..S RESULTS(CNT)=DATA_U_SUP_U_UIEN,CNT=CNT+1
|
||
|
Q
|
||
|
UNIKILL(RESULTS,INPUT) ;
|
||
|
; Input - INPUT contains the IEN for Union to be deleted
|
||
|
; Output - RESULTS will contain a message indicating the record
|
||
|
; was successfully deleted.
|
||
|
N DA,DIK
|
||
|
S RESULTS="No Changes Filed"
|
||
|
S DIK="^OOPS(2263.7,",DA=INPUT
|
||
|
D ^DIK
|
||
|
S RESULTS="Record Successfully Deleted"
|
||
|
Q
|
||
|
UNIADD ; Files a new record in ^OOPS(2263.7
|
||
|
N X,DIC,DLAYGO
|
||
|
K DO
|
||
|
S DLAYGO=2263.7,DIC="^OOPS(2263.7,",DIC(0)="L",X=NM
|
||
|
D FILE^DICN
|
||
|
I Y=-1 S RESULTS="Failed" Q
|
||
|
S DA=+Y,RESULTS=X_" union added"
|
||
|
Q
|
||
|
UNIEDT(RESULTS,INPUT) ; Edits the input in ^OOPS(2263.7
|
||
|
; Input - INPUT contains the IEN of Union to be edited or NULL if a
|
||
|
; new union is being added. Also has the Union Name,
|
||
|
; Acronym, and Representative in the format:
|
||
|
; IEN^UNION NAME^UNION ACRONYM^UNION REP
|
||
|
; Output - RESULTS contains a status message regarding the filing of
|
||
|
; the data
|
||
|
N DA,DIE,DR,IEN,NM,ACR,REP
|
||
|
S RESULTS="No Changes Filed"
|
||
|
S DIE="^OOPS(2263.7,",IEN=$P($G(INPUT),U),NM=$P($G(INPUT),U,2)
|
||
|
I $G(NM)="" Q
|
||
|
I $G(IEN)="" D UNIADD S IEN=DA
|
||
|
I RESULTS="Failed" Q
|
||
|
S ACR=$P($G(INPUT),U,3),REP=$P($G(INPUT),U,4)
|
||
|
S DA=IEN,DR=".01///^S X=NM;1///^S X=ACR;2///^S X=REP"
|
||
|
D ^DIE
|
||
|
I $G(Y)="" D Q
|
||
|
.;if next line executed, then straight edit, not an add
|
||
|
.I RESULTS="No Changes Filed" S RESULTS="Union Update Successful."
|
||
|
S RESULTS="Union Update NOT Successful."
|
||
|
Q
|
||
|
SITEPGET(RESULTS,FORM) ;
|
||
|
; Input - FORM = contains either a blank for 'normal' site parameter
|
||
|
; look ups or 'OSHA300' if for the OSHA 300A summary input
|
||
|
; Output - RESULTS is an array whose 0 node contains the Site
|
||
|
; parameter name, IEN, and District Office in the format:
|
||
|
; SITE NAME^DISTRICT OFFICE^SITE IEN
|
||
|
; Subsequent nodes starting from 1 contain Station information
|
||
|
; in the following format:
|
||
|
; STANM_U_PNM_U_PADD_U_PCTY_U_PST_U_PZIP_U_PTITLE_
|
||
|
; U_CHGBKCODE_U_SUB_U_STA
|
||
|
N CNT,DOFF,IENS,SIEN,STA,SUB,SNAME,STR,STR2,CBCSUF
|
||
|
S SIEN=$P($G(^OOPS(2262,0)),U,3)
|
||
|
N CBC,STANM,STATION,PNM,PADD,PCTY,PST,PZIP,PTITLE
|
||
|
S (CBC,STATION,PNM,PADD,PCTY,PST,PZIP,PTITLE)=""
|
||
|
N NA,TTL,PHN,EXT,IND,NAICS,SIC
|
||
|
S (NA,TTL,PHN,EXT,IND,NAICS,SIC)=""
|
||
|
I '$G(SIEN) S RESULTS(0)="No Site Parameter File was Found" Q
|
||
|
L +^OOPS(2262,SIEN):2
|
||
|
E S RESULTS(0)="This option in use by another user, try again later." Q
|
||
|
S SNAME=$$GET1^DIQ(2262,SIEN,.01),DOFF=$$GET1^DIQ(2262,SIEN,2,"E")
|
||
|
S RESULTS(0)=SNAME_U_DOFF_U_SIEN
|
||
|
S CNT=1,SUB=""
|
||
|
F S SUB=$O(^OOPS(2262,SIEN,SUB)) Q:SUB="" S STA=0 D
|
||
|
.F S STA=$O(^OOPS(2262,SIEN,SUB,STA)) Q:STA'>0 D
|
||
|
..S STR=$G(^OOPS(2262,SIEN,SUB,STA,0)),IENS=STA_","_SUB_","
|
||
|
..S STR2=$G(^OOPS(2262,SIEN,SUB,STA,1))
|
||
|
..S STATION=$$GET1^DIQ(2262.03,IENS,".01:99")
|
||
|
..S STANM=$$GET1^DIQ(2262.03,IENS,.01)_" = "_STATION
|
||
|
..; Patch 5 llh - if station inactive blank STA
|
||
|
..I $$GET1^DIQ(4,$P(STR,U),101)'="" S STA=""
|
||
|
..I $G(FORM)="" D
|
||
|
...S PNM=$P(STR,U,2),PADD=$P(STR,U,3),PCTY=$P(STR,U,4),PZIP=$P(STR,U,6)
|
||
|
...I $P(STR,U,5)'="" S PST=$$GET1^DIQ(2262.03,IENS,4)
|
||
|
...I $P(STR,U,7)'="" S PTITLE=$$GET1^DIQ(2262.03,IENS,6)
|
||
|
...S CBC=$P(STR,U,8) I $G(CBC)'="" S CBC=$$GET1^DIQ(2263.6,CBC,.01)
|
||
|
...;Patch 5 llh - added CBCSUF sets
|
||
|
...S CBCSUF=$P(STR,U,9)
|
||
|
...S RESULTS(CNT)=STANM_U_PNM_U_PADD_U_PCTY_U_PST_U_PZIP_U_PTITLE_U_CBC_U_SUB_U_STA_U_CBCSUF
|
||
|
..I $G(FORM)="OSHA300" D
|
||
|
...I $P(STR2,U,1)'="" S NA=$$GET1^DIQ(2262.03,IENS,7)
|
||
|
...S TTL=$P(STR2,U,2),PHN=$P(STR2,U,3),EXT=$P(STR2,U,4)
|
||
|
...S IND=$P(STR2,U,5),SIC=$$GET1^DIQ(2262.03,IENS,12)
|
||
|
...S NAICS=$$GET1^DIQ(2262.03,IENS,13)
|
||
|
...S RESULTS(CNT)=STANM_U_NA_U_TTL_U_PHN_U_EXT_U_IND_U_SIC_U_NAICS_U_SUB_U_STA_U_$P(STR,U,1)_U
|
||
|
..I $G(FORM)="" S (STANM,PNM,PADD,PCTY,PST,PZIP,PTITLE,CBC,CBCSUF)=""
|
||
|
..E S (NA,TTL,PHN,EXT,IND,NAICS,SIC)=""
|
||
|
..S CNT=CNT+1
|
||
|
L -^OOPS(2262,SIEN)
|
||
|
Q
|
||
|
SITEPADD ; Creates a new Station Subfile in the Site Parameter
|
||
|
; File (#2262
|
||
|
N X,DIC,DLAYGO
|
||
|
S DLAYGO=2262,DIC="^OOPS(2262,"_SIEN_","_SUBF_",",DIC(0)="L"
|
||
|
S DA(1)=SIEN,X=STANM
|
||
|
D FILE^DICN
|
||
|
I Y=-1 S RESULTS="Failed" Q
|
||
|
S DA=+Y,RESULTS="Successfully Added"
|
||
|
Q
|
||
|
SITEPKIL(RESULTS,INPUT) ; Deletes the Station Subfile whose IEN was passed in
|
||
|
; Input - INPUT contains the Site Parameter file IEN, the subfile IEN,
|
||
|
; and the Station IEN in the format: SIEN^SUBF^STAIEN
|
||
|
; Output - RESULTS contains a message with the filing status
|
||
|
N DA,DIK,SIEN,SUBF,STAIEN
|
||
|
S SIEN=$P($G(INPUT),U),SUBF=$P($G(INPUT),U,2),STAIEN=$P($G(INPUT),U,3)
|
||
|
I $G(SIEN)=""!($G(SUBF)="")!($G(STAIEN)="") D Q
|
||
|
.S RESULTS="Missing Record Identifiers, Cannot file."
|
||
|
S DIK="^OOPS(2262,"_SIEN_","_SUBF_","
|
||
|
S DA=STAIEN,DA(1)=SIEN
|
||
|
D ^DIK
|
||
|
I $G(Y)="" S RESULTS="Deletion did not occur." Q
|
||
|
S RESULTS="Record successfully deleted"
|
||
|
Q
|
||
|
SITEPEDT(RESULTS,INPUT,DATA,FORM) ;
|
||
|
; Edits the Station Subfile whose data and IEN have been passed in
|
||
|
; Input - INPUT contains the IEN of the Site Parameter file, subfile
|
||
|
; & Station IEN. If adding new station, the Station IEN
|
||
|
; = "". INPUT format: SITE IEN^SUBFILE IEN^STATION IEN
|
||
|
; DATA contains the data to be filed
|
||
|
; FORM is either "" or "OSHA300" to signify data for filing
|
||
|
; Output - RESULTS is a single value with a message regarding the
|
||
|
; filing status
|
||
|
N CBC,DA,DIE,DR,PNM,PADD,PCTY,PST,PZIP,PTITLE,SIEN,SUBF,CBCSUF
|
||
|
N STANM,STAIEN,NA,TTL,PHN,EXT,IND,SIC,NAICS
|
||
|
S RESULTS="Filing"
|
||
|
S SIEN=$P($G(INPUT),U),SUBF=$P($G(INPUT),U,2),STAIEN=$P($G(INPUT),U,3)
|
||
|
I $G(SIEN)="" S RESULTS="Missing Record Identifiers, Cannot file." Q
|
||
|
I '$G(SUBF) S SUBF=$O(^OOPS(2262,SIEN,0)) I '$G(SUBF) S SUBF=1
|
||
|
S STANM=$P($G(DATA),U)
|
||
|
I $G(STANM)="" S RESULTS="Missing Station, Cannot continue." Q
|
||
|
I $G(STAIEN)="" D SITEPADD S STAIEN=DA
|
||
|
I $G(STAIEN)="" S RESULTS="Missing Station, cannot file." Q
|
||
|
S DIE="^OOPS(2262,"_SIEN_","_SUBF_","
|
||
|
S DA=STAIEN,DA(1)=SIEN,DR=""
|
||
|
I $G(FORM)="" D
|
||
|
.S PNM=$P($G(DATA),U,2),PADD=$P($G(DATA),U,3)
|
||
|
.S PCTY=$P($G(DATA),U,4),PST=$P($G(DATA),U,5),PZIP=$P($G(DATA),U,6)
|
||
|
.S PTITLE=$P($G(DATA),U,7),CBC=$P($G(DATA),U,8)
|
||
|
.; Patch 5 llh - Added CBCSUF sets
|
||
|
.S CBCSUF=$P($G(DATA),U,9)
|
||
|
.S DR=".7///^S X=CBC;.8///^S X=CBCSUF;1///^S X=PNM;2///^S X=PADD;3///^S X=PCTY;4///^S X=PST;5///^S X=PZIP;6///^S X=PTITLE"
|
||
|
I $G(FORM)="OSHA300" D
|
||
|
.S NA=$P($G(DATA),U,2),TTL=$P($G(DATA),U,3),PHN=$P($G(DATA),U,4)
|
||
|
.S EXT=$P($G(DATA),U,5),IND=$P($G(DATA),U,6),SIC=$P($G(DATA),U,7)
|
||
|
.S NAICS=$P($G(DATA),U,8)
|
||
|
.S DR="7///^S X=NA;8///^S X=TTL;9///^S X=PHN;10///^S X=EXT"
|
||
|
.S DR=DR_";11///^S X=IND;12///^S X=SIC;13///^S X=NAICS"
|
||
|
I $G(DR)'="" D ^DIE
|
||
|
I $G(Y)="" D Q
|
||
|
.; if line below executed, then no Add, only edit
|
||
|
.I RESULTS="Filing" S RESULTS="Update Successful"
|
||
|
S RESULTS="Update was not Successful"
|
||
|
Q
|
||
|
PARMEDT(RESULTS,INPUT) ; Files changes to top level file (#2262)
|
||
|
; Input: INPUT - This variable contains the IEN, Site Name, and
|
||
|
; District Office Name to be filed in the format:
|
||
|
; IEN^SITE NAME^DISTRICT OFFICE
|
||
|
; Output: RESULTS - Results will contain a filing status message
|
||
|
N DA,DIE,DR,IEN,SITENM,DISOFF
|
||
|
S IEN=$P($G(INPUT),U),SITENM=$P($G(INPUT),U,2),DISOFF=$P($G(INPUT),U,3)
|
||
|
I '$G(IEN) S RESULTS="Cannot File Changes, no Record Number" Q
|
||
|
S DIE="^OOPS(2262,",DA=IEN
|
||
|
S DR=".01///^S X=SITENM;2///^S X=DISOFF"
|
||
|
D ^DIE
|
||
|
I $G(Y)="" S RESULTS="Update Site data Successful" Q
|
||
|
S RESULTS="Update Site data was NOT Successful"
|
||
|
Q
|
||
|
CHGCASE(RESULTS,INPUT,FLD58) ; File Change Case Status
|
||
|
; Input: INPUT - IEN^STAT where IEN = the ASISTS case IEN and
|
||
|
; STAT = the new case status
|
||
|
; DELETE - Reason for Deletion, field #58, file #2260
|
||
|
; Output: RESULTS - Message back to client with new Case Status
|
||
|
;
|
||
|
N CURRENT,DR,DIE,IEN,Y,STATUS
|
||
|
S IEN=$P(INPUT,U),(STATUS,Y)=$P(INPUT,U,2)
|
||
|
I '$G(IEN) S RESULTS="Missing Record Identifier, cannot file." Q
|
||
|
I $$GET1^DIQ(2260,IEN,66)'="",(Y=2) D Q
|
||
|
.S RESULTS="Case transmitted to DOL, cannot change status to Deleted."
|
||
|
S CURRENT=$$GET1^DIQ(2260,IEN,51,"I")
|
||
|
CLOSE ; Close
|
||
|
S DR=""
|
||
|
S DR="51////"_Y
|
||
|
;If current status goes from closed/deleted to Open, reset field 57
|
||
|
I (CURRENT=1!(CURRENT=2)),(Y=0) S DR=DR_";57////@"
|
||
|
I FLD58]"" S DR=DR_";58////"_FLD58
|
||
|
S DIE="^OOPS(2260,",DA=IEN
|
||
|
D ^DIE K DIE,DA
|
||
|
I $D(Y)'=0 Q
|
||
|
S RESULTS="Case Status has been changed to: "_$$GET1^DIQ(2260,IEN,51)
|
||
|
;01/02/04 Patch 4 llh- if case = closed, send bulletin
|
||
|
I STATUS=1 D CLSCASE^OOPSMBUL(IEN)
|
||
|
Q
|