Alarm trigger with NICA_ORDERS table
solution tested and ready for deployment updated SRP_Git_Services to handle creating local copies of inherited entities updated HgCV OCAP order trigger to also look for active prove-in orders moved error services common into sysprog to avoid compilation issues
This commit is contained in:
@ -54,10 +54,11 @@ $insert Message_Box_Equates
|
||||
Declare function center_window, msg, Memberof, Get_Property, NextKey, next_key, rowexists, Get_Status
|
||||
Declare function SRP_Array, start_window, Dialog_Box, Reactor_Log_Services, Reactor_Modes_Services, GetTickCount
|
||||
Declare function Reactor_Services, Error_Services, Logging_Services, Environment_Services, Database_Services
|
||||
Declare function SRP_List
|
||||
Declare function SRP_List, Nica_Orders_Services
|
||||
Declare subroutine RList, Set_Property, Set_List_Box_Data, end_dialog, record_lock, obj_React_Mode, ErrMsg
|
||||
Declare subroutine Mona_Services, Reactor_Services, Error_Services, obj_React_Status, Logging_Services
|
||||
Declare subroutine Database_Services, Override_Log_Services, SRP_List, Message_Box, Reactor_Log_Services
|
||||
Declare subroutine Nica_Orders_Services
|
||||
|
||||
GoToEvent Event for CtrlEntId else
|
||||
// Event not implemented
|
||||
@ -281,52 +282,73 @@ Event APPLY.CLICK()
|
||||
If Error_Services('NoError') then
|
||||
Reactor_Services('CreateReactModeChange', @User4, ReactNo, NewMode, NewReactModeSvc, NewNoteText)
|
||||
If Error_Services('NoError') then
|
||||
|
||||
End_Dialog(@Window, NewMode)
|
||||
|
||||
end else
|
||||
|
||||
Error_Services('DisplayError')
|
||||
ActiveProveIn = Xlate('REACTOR', ReactNo, REACTOR_PROVE_IN_ACTIVE$, 'X')
|
||||
If ActiveProveIn then
|
||||
OverrideGroups = 'LEAD':@VM:'SUPERVISOR'
|
||||
UserMsg = "Reactor prove in must be processed in NICA. Override required from a lead or supervisor to bypass NICA."
|
||||
UserVerification = Dialog_Box('NDW_VERIFY_USER', @WINDOW, @USER4:@FM:OverrideGroups:@FM:'':@FM:UserMsg)
|
||||
Override = UserVerification<1>
|
||||
If Override EQ True$ then
|
||||
ProveInOrderIds = Xlate('REACTOR', ReactNo, REACTOR_PROVE_IN_ORDER_ID$, 'X')
|
||||
ProveInOrderList = SRP_List('Create', ProveInOrderIds, @VM)
|
||||
ProveInTypes = Xlate('REACTOR', ReactNo, REACTOR_PROVE_IN_TYPE$, 'X')
|
||||
ProveInTypeList = SRP_List('Create', ProveInTypes, @VM)
|
||||
If SRP_List('Count', ProveInOrderList) GT 1 then
|
||||
OverrideData = Dialog_Box('PROVE_IN_OVERRIDE', @Window, ReactNo)
|
||||
|
||||
ProveInTypesToCancel = OverrideData<1, 1>
|
||||
ProveInTypesToCancelList = SRP_List('Create', ProveInTypesToCancel, @VM)
|
||||
|
||||
ResponseComment = ''
|
||||
for each ProveInType in ProveInTypes using @VM setting Idx
|
||||
If SRP_List('Locate', ProveInTypesToCancelList, ProveInType) GT 0 then
|
||||
ProveInOrderId = SRP_List('GetAt', ProveInOrderList, Idx)
|
||||
Reactor_Services('CancelReactorProveIn', ReactNo, ProveInOrderId)
|
||||
If ResponseComment NE '' then
|
||||
ResponseComment := ', '
|
||||
ActiveProveIn = Reactor_Services('GetProveInActive', ReactNo)
|
||||
ActiveHgCVChecklists = Nica_Orders_Services('GetActiveOrders', 'REACTOR', ReactNo, 'IQS_HGCV_ALARM')
|
||||
HgCVChecklistActive = (ActiveHgCVChecklists NE '')
|
||||
|
||||
Begin Case
|
||||
|
||||
Case ActiveProveIn
|
||||
|
||||
OverrideGroups = 'LEAD':@VM:'SUPERVISOR'
|
||||
UserMsg = "Reactor prove in must be processed in NICA. Override required from a lead or supervisor to bypass NICA."
|
||||
UserVerification = Dialog_Box('NDW_VERIFY_USER', @WINDOW, @USER4:@FM:OverrideGroups:@FM:'':@FM:UserMsg)
|
||||
Override = UserVerification<1>
|
||||
If Override EQ True$ then
|
||||
ProveInOrderIds = Reactor_Services('GetActiveProveInOrderIds', ReactNo)
|
||||
If (DCount(ProveInOrderIds, @VM) GT 1) then
|
||||
ProveInTypes = Xlate('NICA_ORDERS', ProveInOrderIds, 'ORDER_TYPE', 'X')
|
||||
OverrideData = Dialog_Box('PROVE_IN_OVERRIDE', @Window, ReactNo)
|
||||
ProveInTypesToCancel = OverrideData<1, 1>
|
||||
ResponseComment = ''
|
||||
For each ProveInType in ProveInTypes using @VM setting Idx
|
||||
Locate ProveInType in ProveInTypesToCancel using @VM setting Unused then
|
||||
ProveInOrderId = ProveInOrderIds<0, Idx>
|
||||
Nica_Orders_Services('CancelOrder', ProveInOrderId)
|
||||
If ResponseComment NE '' then ResponseComment := ', '
|
||||
ResponseComment := ProveInType
|
||||
end
|
||||
ResponseComment := ProveInType
|
||||
end
|
||||
Next ProveInType
|
||||
|
||||
ResponseComment := ': '
|
||||
ResponseComment := OverrideData<2, 1>
|
||||
|
||||
Override_Log_Services('Create', 'REACTOR', ReactNo, UserVerification<2>, ResponseComment, 'REACTOR_PROVE_IN')
|
||||
|
||||
SRP_List('Release', ProveInTypesToCancelList)
|
||||
end else
|
||||
ResponseComment = Dialog_Box('NDW_ADD_COMMENT', @WINDOW)<2>
|
||||
|
||||
If Assigned(ResponseComment) and Len(ResponseComment) GT 4 then
|
||||
ProveInOrderId = SRP_List('GetAt', ProveInOrderList, 1)
|
||||
Reactor_Services('CancelReactorProveIn', ReactNo, ProveInOrderId)
|
||||
|
||||
Next ProveInType
|
||||
ResponseComment := ': '
|
||||
ResponseComment := OverrideData<2, 1>
|
||||
Override_Log_Services('Create', 'REACTOR', ReactNo, UserVerification<2>, ResponseComment, 'REACTOR_PROVE_IN')
|
||||
Reactor_Services('CreateReactModeChange', @User4, ReactNo, NewMode, NewReactModeSvc, NewNoteText)
|
||||
If Error_Services('NoError') then End_Dialog(@Window, NewMode)
|
||||
end else
|
||||
ResponseComment = Dialog_Box('NDW_ADD_COMMENT', @WINDOW)<2>
|
||||
If Assigned(ResponseComment) and Len(ResponseComment) GT 4 then
|
||||
Nica_Orders_Services('CancelOrder', ProveInOrderIds<0, 1>)
|
||||
Override_Log_Services('Create', 'REACTOR', ReactNo, UserVerification<2>, ResponseComment, 'REACTOR_PROVE_IN')
|
||||
Reactor_Services('CreateReactModeChange', @User4, ReactNo, NewMode, NewReactModeSvc, NewNoteText)
|
||||
If Error_Services('NoError') then End_Dialog(@Window, NewMode)
|
||||
end else
|
||||
Message_Box(@Window, 'You must enter a comment greater than 4 letters!', 'Error', MSG_ICON_EXCLAM$)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Case HgCVChecklistActive
|
||||
|
||||
OverrideGroups = 'LEAD':@VM:'SUPERVISOR'
|
||||
UserMsg = "HgCV OCAP Checklist must be completed in NICA. Override required from a lead or supervisor to bypass NICA."
|
||||
UserVerification = Dialog_Box('NDW_VERIFY_USER', @WINDOW, @USER4:@FM:OverrideGroups:@FM:'':@FM:UserMsg)
|
||||
Override = UserVerification<1>
|
||||
If Override then
|
||||
|
||||
ResponseComment = Dialog_Box('NDW_ADD_COMMENT', @WINDOW)<2>
|
||||
If Assigned(ResponseComment) and Len(ResponseComment) GT 4 then
|
||||
|
||||
For each ActiveHgCVOrderId in ActiveHgCVChecklists using @VM
|
||||
Nica_Orders_Services('CancelOrder', ActiveHgCVOrderId)
|
||||
Next ActiveHgCVChecklistId
|
||||
|
||||
Override_Log_Services('Create', 'REACTOR', ReactNo, UserVerification<2>, ResponseComment, 'HGCV_OCAP_CHECKLIST')
|
||||
|
||||
Reactor_Services('CreateReactModeChange', @User4, ReactNo, NewMode, NewReactModeSvc, NewNoteText)
|
||||
If Error_Services('NoError') then
|
||||
@ -335,11 +357,9 @@ Event APPLY.CLICK()
|
||||
end else
|
||||
Message_Box(@Window, 'You must enter a comment greater than 4 letters!', 'Error', MSG_ICON_EXCLAM$)
|
||||
end
|
||||
end
|
||||
SRP_List('Release', ProveInOrderList)
|
||||
SRP_List('Release', ProveInTypeList)
|
||||
end
|
||||
end
|
||||
end
|
||||
End Case
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
@ -504,3 +524,4 @@ return
|
||||
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user