448 lines
11 KiB
Plaintext
448 lines
11 KiB
Plaintext
COMPILE FUNCTION Dialog_React_Item_Hist(EntID,Event,Parm1,Parm2,Parm3,Parm4,Parm5)
|
|
|
|
/*
|
|
Commuter module for DIALOG_REACT_ITEM_HIST window
|
|
|
|
01/19/2014 - John C. Henry, J.C. Henry & Co., Inc. cloned from Graphite
|
|
*/
|
|
|
|
DECLARE SUBROUTINE Set_Property, ErrMsg, obj_Appwindow, Btree.Extract, Send_Event, Send_Message
|
|
DECLARE FUNCTION Get_Property, Send_Message, NextKey, Popup, obj_Calendar, Printer_Select
|
|
DECLARE FUNCTION Set_Printer, obj_Install, Start_Window, obj_Popup, obj_React_Item_Hist, MemberOf
|
|
|
|
$INSERT APPCOLORS
|
|
$INSERT REACT_ITEM_EQUATES
|
|
$INSERT REACT_ITEM_HIST_EQUATES
|
|
$INSERT POPUP_EQUATES
|
|
$INSERT RTI_STYLE_EQUATES
|
|
|
|
EQU COL$REACT_NO TO 1
|
|
EQU COL$RI_NO TO 2
|
|
EQU COL$RI_TYPE TO 3
|
|
EQU COL$SVC_HRS TO 4
|
|
EQU COL$SVC_WFRS TO 5
|
|
|
|
EQU COL$INST_DTM TO 6
|
|
EQU COL$INST_REACT_HRS TO 7
|
|
EQU COL$INST_REACT_WFRS TO 8
|
|
EQU COL$INST_RL_ID TO 9
|
|
|
|
EQU COL$REM_DTM TO 10
|
|
EQU COL$REM_REACT_HRS TO 11
|
|
EQU COL$REM_REACT_WFRS TO 12
|
|
EQU COL$REM_RL_ID TO 13
|
|
EQU COL$REM_REASON TO 14
|
|
|
|
EQU SPECIAL_BLUE$ TO 227 + (253*256) + (248*65536)
|
|
EQU CRLF$ TO \0D0A\
|
|
|
|
EQU HIDDEN$ TO 32
|
|
EQU SKIPPED$ TO 4100
|
|
|
|
EQU PI$LEFT TO 1
|
|
EQU PI$TOP TO 2
|
|
EQU PI$RIGHT TO 3
|
|
EQU PI$BOTTOM TO 4
|
|
EQU PI$WIDTH TO 5
|
|
EQU PI$HEIGHT TO 6
|
|
EQU PI$SIZE TO 7
|
|
|
|
|
|
|
|
ErrTitle = 'Error in Dialog_React_Item_Hist'
|
|
ErrorMsg = ''
|
|
|
|
Result = ''
|
|
|
|
BEGIN CASE
|
|
CASE EntID = @WINDOW
|
|
BEGIN CASE
|
|
CASE Event = 'CREATE' ; GOSUB Create
|
|
|
|
END CASE
|
|
|
|
CASE EntID = @WINDOW:'.HISTORY' AND Event = 'DBLCLK' ; GOSUB HistoryDC
|
|
CASE EntID = @WINDOW:'.LU_REACT_NO' AND Event = 'CLICK' ; GOSUB LUReactNo
|
|
CASE EntID = @WINDOW:'.LU_RI_NO' AND Event = 'CLICK' ; GOSUB LUReactItem
|
|
CASE EntID = @WINDOW:'.LU_ALL_RI_NO' AND Event = 'CLICK' ; GOSUB LUReactItem
|
|
CASE EntID = @WINDOW:'.LU_RI_TYPE' AND Event = 'CLICK' ; GOSUB LURIType
|
|
CASE EntID = @WINDOW:'.REACT_NO' AND Event = 'LOSTFOCUS' ; GOSUB Select
|
|
CASE EntID = @WINDOW:'.RI_NO' AND Event = 'LOSTFOCUS' ; GOSUB Select
|
|
CASE EntID = @WINDOW:'.RI_TYPE' AND Event = 'LOSTFOCUS' ; GOSUB Select
|
|
CASE EntID = @WINDOW:'.CLEAR_BUTTON' AND Event = 'CLICK' ; GOSUB Clear
|
|
CASE EntID = @WINDOW:'.CLOSE_OPEN' AND Event = 'CLICK' ; GOSUB CloseOpen
|
|
|
|
CASE EntID = @WINDOW:'.PRINT_LABEL' AND Event = 'CLICK' ; GOSUB PrintLabel
|
|
|
|
CASE 1
|
|
|
|
ErrorMsg = 'Unknown Parameters ':EntID:' - ':Event:' passed to commuter'
|
|
ErrMsg(ErrorMsg)
|
|
|
|
END CASE
|
|
|
|
IF ErrorMsg NE '' THEN
|
|
ErrMsg(ErrTitle:@SVM:ErrorMsg)
|
|
END
|
|
|
|
RETURN Result
|
|
|
|
|
|
* * * * * * *
|
|
Create:
|
|
* * * * * * *
|
|
|
|
obj_Appwindow('Create',@WINDOW)
|
|
|
|
|
|
RETURN
|
|
|
|
|
|
* * * * * * *
|
|
LUReactNo:
|
|
* * * * * * *
|
|
|
|
|
|
ReactorNo = Popup(@WINDOW,'','REACTORS')
|
|
|
|
IF ReactorNo = '' THEN RETURN
|
|
|
|
IF ReactorNo NE '' THEN
|
|
obj_AppWindow('LUValReturn',ReactorNo:@RM:@WINDOW:'.REACT_NO')
|
|
GOSUB Refresh
|
|
END
|
|
|
|
RETURN
|
|
|
|
* * * * * * *
|
|
LURIType:
|
|
* * * * * * *
|
|
|
|
RetVal = Popup(@WINDOW,'','REACT_ITEM_TYPE')
|
|
|
|
IF RetVal NE '' THEN
|
|
oaParms = RetVal:@RM:@WINDOW:'.RI_TYPE'
|
|
obj_Appwindow('LUValReturn',oaParms)
|
|
GOSUB Refresh
|
|
END
|
|
|
|
RETURN
|
|
|
|
|
|
|
|
* * * * * * *
|
|
LUReactItem:
|
|
* * * * * * *
|
|
|
|
TypeOver = ''
|
|
TypeOver<PSELECT$> = 1
|
|
|
|
IF EntID = @WINDOW:'.LU_RI_NO' THEN
|
|
TypeOver<PDISPLAY$> = 'WITH RETIRE_DT = "" BY RI_TYPE BY RI_NO' ;* Active Records only
|
|
END ELSE
|
|
TypeOver<PDISPLAY$> = 'BY RI_TYPE BY RI_NO' ;* All Records
|
|
END
|
|
|
|
RetVal = Popup(@WINDOW,TypeOver,'REACT_ITEM')
|
|
|
|
IF RetVal NE '' THEN
|
|
obj_AppWindow('LUValReturn',RetVal:@RM:@WINDOW:'.RI_NO')
|
|
GOSUB Refresh
|
|
END
|
|
|
|
RETURN
|
|
|
|
|
|
* * * * * * *
|
|
Refresh:
|
|
* * * * * * *
|
|
|
|
Ctrls = @WINDOW:'.REACT_NO':@RM ; Props = 'TEXT':@RM
|
|
Ctrls := @WINDOW:'.RI_NO':@RM ; Props := 'TEXT':@RM
|
|
Ctrls := @WINDOW:'.RI_TYPE' ; Props := 'TEXT'
|
|
|
|
Vals = Get_Property(Ctrls,Props)
|
|
|
|
ReactNo = Vals[1,@RM]
|
|
RINo = Vals[COL2()+1,@RM]
|
|
RIType = Vals[COL2()+1,@RM]
|
|
|
|
|
|
IF ReactNo = '' THEN
|
|
ToolDesc = ''
|
|
END ELSE
|
|
ToolDesc = XLATE('TOOL','R':ReactNo,1,'X'):' ':XLATE('TOOL','R':ReactNo,'TOOL_LOC_DESC','X')
|
|
END
|
|
|
|
Set_Property(@WINDOW:'.REACT_DESC','TEXT',ToolDesc)
|
|
|
|
|
|
IF RINo = '' THEN
|
|
RIDesc = ''
|
|
END ELSE
|
|
RIDesc = XLATE('REACT_ITEM',RINo,'DESC_CALC','X')
|
|
END
|
|
|
|
Set_Property(@WINDOW:'.RI_DESC','TEXT',RIDesc)
|
|
|
|
|
|
IF RIType = '' THEN
|
|
ItemTypDesc = ''
|
|
END ELSE
|
|
ItemTypeDesc = obj_Popup('CodeDesc','REACT_ITEM_TYPE':@RM:RIType)
|
|
END
|
|
|
|
Set_Property(@WINDOW:'.RI_TYPE_DESC','TEXT',ItemTypeDesc)
|
|
|
|
IF MemberOf(@USER4, 'OI_SUPERUSER') THEN
|
|
|
|
IF ( ReactNo NE '' AND RIType NE '' AND RINo = '' ) THEN
|
|
Set_Property(@WINDOW:'.CLOSE_OPEN','VISIBLE',1)
|
|
END ELSE
|
|
Set_Property(@WINDOW:'.CLOSE_OPEN','VISIBLE',0)
|
|
END
|
|
END
|
|
|
|
ETCtrl = @WINDOW:'.HISTORY'
|
|
ETList = Get_Property(ETCtrl,'LIST')
|
|
ListCnt = COUNT(ETList,@FM) + (ETList NE '')
|
|
|
|
|
|
FOR Line = 1 TO ListCnt
|
|
|
|
IF MOD(Line,2) THEN
|
|
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$REACT_NO,Line,SPECIAL_BLUE$)
|
|
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$RI_NO,Line,SPECIAL_BLUE$)
|
|
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$RI_TYPE,Line,SPECIAL_BLUE$)
|
|
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$SVC_HRS,Line,VL_YELLOW$)
|
|
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$SVC_WFRS,Line,VL_YELLOW$)
|
|
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$INST_DTM,Line,SPECIAL_BLUE$)
|
|
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$INST_REACT_HRS,Line,SPECIAL_BLUE$)
|
|
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$INST_REACT_WFRS,Line,SPECIAL_BLUE$)
|
|
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$INST_RL_ID,Line,SPECIAL_BLUE$)
|
|
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$REM_DTM,Line,RCV_BLUE$)
|
|
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$REM_REACT_HRS,Line,RCV_BLUE$)
|
|
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$REM_REACT_WFRS,Line,RCV_BLUE$)
|
|
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$REM_RL_ID,Line,RCV_BLUE$)
|
|
stat = Send_Message(ETCtrl,'COLOR_BY_POS',COL$REM_REASON,Line,RCV_BLUE$)
|
|
|
|
END ELSE
|
|
FOR N = 1 TO 11
|
|
stat = Send_Message(ETCtrl,'COLOR_BY_POS',N,Line,WHITE$)
|
|
NEXT N
|
|
END
|
|
NEXT Line
|
|
|
|
RETURN
|
|
|
|
|
|
* * * * * * *
|
|
Select:
|
|
* * * * * * *
|
|
|
|
Ctrls = @WINDOW:'.REACT_NO':@RM ; Props = 'TEXT':@RM
|
|
Ctrls := @WINDOW:'.RI_NO':@RM ; Props := 'TEXT':@RM
|
|
Ctrls := @WINDOW:'.RI_TYPE' ; Props := 'TEXT'
|
|
|
|
Vals = Get_Property(Ctrls,Props)
|
|
|
|
ReactNo = Vals[1,@RM]
|
|
RINo = Vals[COL2()+1,@RM]
|
|
RIType = Vals[COL2()+1,@RM]
|
|
|
|
HistoryStyles = Send_Message(@WINDOW:'.HISTORY','COLSTYLE',0,'')
|
|
|
|
|
|
/*
|
|
IF ReactNo '' THEN
|
|
HistoryStyles<COL$REACT_NO> = BitAnd(HistoryStyles<COL$REACT_NO>,BitNot(HIDDEN$))
|
|
END ELSE
|
|
HistoryStyles<COL$REACT_NO> = BitOr(HistoryStyles<COL$REACT_NO>,HIDDEN$)
|
|
END
|
|
|
|
IF RINo = '' THEN
|
|
HistoryStyles<COL$RI_NO> = BitAnd(HistoryStyles<COL$RI_NO>,BitNot(HIDDEN$))
|
|
END ELSE
|
|
HistoryStyles<COL$RI_NO> = BitOr(HistoryStyles<COL$RI_NO>,HIDDEN$)
|
|
END
|
|
|
|
IF RIType = '' THEN
|
|
HistoryStyles<COL$RI_TYPE> = BitAnd(HistoryStyles<COL$RI_TYPE>,BitNot(HIDDEN$))
|
|
END ELSE
|
|
HistoryStyles<COL$RI_TYPE> = BitOr(HistoryStyles<COL$RI_TYPE>,HIDDEN$)
|
|
END
|
|
|
|
Send_Message(@WINDOW:'.HISTORY','COLSTYLE',0,HistoryStyles)
|
|
*/
|
|
|
|
HistoryKeys = obj_React_Item_Hist('GetHistory',Vals)
|
|
|
|
HistoryList = ''
|
|
|
|
hlCnt = COUNT(HistoryKeys,@VM) + (HistoryKeys NE '')
|
|
|
|
FOR I = 1 TO hlCnt
|
|
HistoryKey = HistoryKeys<1,I>
|
|
|
|
HistoryRec = XLATE('REACT_ITEM_HIST',HistoryKey,'','X')
|
|
|
|
ReactNo = HistoryKey[1,'*']
|
|
RINo = HistoryKey[COL2()+1,'*']
|
|
InstDTM = HistoryKey[COL2()+1,'*']
|
|
RIType = XLATE('REACT_ITEM',RINo,REACT_ITEM_RI_TYPE$,'X')
|
|
|
|
HistoryList<I,COL$REACT_NO> = ReactNo
|
|
HistoryList<I,COL$RI_NO> = RINo
|
|
HistoryList<I,COL$INST_DTM> = OCONV(InstDTM,'DT4/^S')
|
|
|
|
HistoryList<I,COL$RI_TYPE> = obj_Popup('CodeDesc','REACT_ITEM_TYPE':@RM:RIType)
|
|
HistoryList<I,COL$SVC_HRS> = ''
|
|
HistoryList<I,COL$SVC_WFRS> = ''
|
|
|
|
HistoryList<I,COL$INST_REACT_HRS> = HistoryRec<REACT_ITEM_HIST_INST_REACT_HRS$>
|
|
HistoryList<I,COL$INST_REACT_WFRS> = HistoryRec<REACT_ITEM_HIST_INST_REACT_WFR_CNT$>
|
|
HistoryList<I,COL$INST_RL_ID> = HistoryRec<REACT_ITEM_HIST_INST_RL_ID$>
|
|
HistoryList<I,COL$REM_DTM> = OCONV(HistoryRec<REACT_ITEM_HIST_REM_DTM$>,'DT4/^S')
|
|
HistoryList<I,COL$REM_REACT_HRS> = HistoryRec<REACT_ITEM_HIST_REM_REACT_HRS$>
|
|
HistoryList<I,COL$REM_REACT_WFRS> = HistoryRec<REACT_ITEM_HIST_REM_REACT_WFR_CNT$>
|
|
HistoryList<I,COL$REM_RL_ID> = HistoryRec<REACT_ITEM_HIST_REM_RL_ID$>
|
|
HistoryList<I,COL$REM_REASON> = HistoryRec<REACT_ITEM_HIST_REM_REASON$>
|
|
|
|
NEXT I
|
|
|
|
Set_Property(@WINDOW:'.HISTORY','LIST',HistoryList)
|
|
|
|
GOSUB Refresh
|
|
|
|
|
|
RETURN
|
|
|
|
|
|
* * * * * * *
|
|
Clear:
|
|
* * * * * * *
|
|
|
|
|
|
Ctrls = @WINDOW:'.REACT_NO':@RM ; Props = 'TEXT':@RM
|
|
Ctrls := @WINDOW:'.RI_NO':@RM ; Props := 'TEXT':@RM
|
|
Ctrls := @WINDOW:'.RI_TYPE' ; Props := 'TEXT'
|
|
|
|
Vals = '':@RM:'':@RM:''
|
|
|
|
Set_Property(Ctrls,Props,Vals)
|
|
|
|
Vals = STR(@FM,36)
|
|
|
|
Set_Property(@WINDOW:'.HISTORY','LIST',Vals)
|
|
|
|
GOSUB Refresh
|
|
|
|
RETURN
|
|
|
|
|
|
|
|
* * * * * * *
|
|
CloseOpen:
|
|
* * * * * * *
|
|
|
|
ReactNo = Get_Property(@WINDOW:'.REACT_NO','DEFPROP')
|
|
RIType = Get_Property(@WINDOW:'.RI_TYPE','DEFPROP')
|
|
|
|
HistKeys = obj_React_Item_Hist('GetHistory',ReactNo:@RM:@RM:RIType)
|
|
HistCnt = COUNT(HistKeys,@VM) + (HistKeys NE '')
|
|
|
|
IF HistCnt > 1 THEN
|
|
|
|
|
|
OPEN 'REACT_ITEM_HIST' TO ReactItemHistTable ELSE
|
|
ErrorMsg = 'Unable to OPEN "REACT_ITEM_HIST" for updates.'
|
|
RETURN
|
|
END
|
|
|
|
FOR N = 2 TO HistCnt
|
|
HistKey = HistKeys<1,N>
|
|
PrevHistKey = HistKeys<1,N-1>
|
|
|
|
READ HistRec FROM ReactItemHistTable,HistKey THEN
|
|
|
|
READ PrevHistRec FROM ReactItemHistTable,PrevHistKey THEN
|
|
|
|
*IF HistRec<REACT_ITEM_HIST_REM_DTM$> = '' THEN
|
|
HistRec<REACT_ITEM_HIST_REM_DTM$> = FIELD(PrevHistKey,'*',3)
|
|
HistRec<REACT_ITEM_HIST_REM_RL_ID$> = PrevHistRec<REACT_ITEM_HIST_INST_RL_ID$>
|
|
HistRec<REACT_ITEM_HIST_REM_REACT_WFR_CNT$> = PrevHistRec<REACT_ITEM_HIST_INST_REACT_WFR_CNT$>
|
|
HistRec<REACT_ITEM_HIST_REM_REACT_HRS$> = PrevHistRec<REACT_ITEM_HIST_INST_REACT_HRS$>
|
|
HistRec<REACT_ITEM_HIST_REM_REASON$> = ''
|
|
|
|
|
|
WRITE HistRec ON ReactItemHistTable,HistKey THEN
|
|
NULL
|
|
*Send_Dyn('Closed: ':HistKey:' ':HistRec)
|
|
END
|
|
*END
|
|
|
|
END ;* End of Closing History Record
|
|
END ;* End of History Record Read
|
|
|
|
NEXT N ;* End of loop through History keys
|
|
END ;* End of check for HistCnt > 1
|
|
|
|
GOSUB Select
|
|
|
|
RETURN
|
|
|
|
|
|
* * * * * * *
|
|
HistoryDC:
|
|
* * * * * * *
|
|
|
|
CurrPos = Get_Property(EntID,'SELPOS')
|
|
CurrCol = CurrPos<1>
|
|
CurrRow = CurrPos<2>
|
|
|
|
CurrList = Get_Property(EntID,'LIST')
|
|
|
|
BEGIN CASE
|
|
CASE CurrCol = COL$RI_NO
|
|
RINo = CurrList<CurrRow,COL$RI_NO>
|
|
IF RINo NE '' THEN
|
|
obj_AppWindow('ViewRelated','REACT_ITEM':@RM:RINo)
|
|
END
|
|
|
|
CASE CurrCol = COL$INST_RL_ID
|
|
RLId = CurrList<CurrRow,COL$INST_RL_ID>
|
|
IF RLId NE '' THEN
|
|
Dummy = Start_Window( 'REACTOR_LOG', @WINDOW, RLId:'*CENTER', '', '' )
|
|
END
|
|
|
|
CASE CurrCol = COL$REM_RL_ID
|
|
RLId = CurrList<CurrRow,COL$REM_RL_ID>
|
|
IF RLId NE '' THEN
|
|
Dummy = Start_Window( 'REACTOR_LOG', @WINDOW, RLId:'*CENTER', '', '' )
|
|
END
|
|
|
|
CASE 1
|
|
|
|
ReactNo = CurrList<CurrRow,COL$REACT_NO>
|
|
RINo = CurrList<CurrRow,COL$RI_NO>
|
|
InstDTM = ICONV(CurrList<CurrRow,COL$INST_DTM>,'DT')
|
|
|
|
IF ReactNo NE '' THEN
|
|
RIHistKey = ReactNo:'*':RINo:'*':InstDTM
|
|
obj_AppWindow('ViewRelated','REACT_ITEM_HIST':@RM:RIHistKey)
|
|
END
|
|
|
|
END CASE
|
|
|
|
RETURN
|
|
|
|
|
|
* * * * * * *
|
|
PrintLabel:
|
|
* * * * * * *
|
|
|
|
RETURN
|
|
|
|
|
|
|