open-insight/LSL2/STPROC/PROVE_IN_OVERRIDE_EVENTS.txt
Infineon\StieberD ab8f9d3c24 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
2025-01-20 12:25:09 -07:00

98 lines
2.5 KiB
Plaintext

Compile function PROVE_IN_OVERRIDE_EVENTS(CtrlEntId, Event, @PARAMS)
#pragma precomp SRP_PreCompiler
#window PROVE_IN_OVERRIDE
$Insert APP_INSERTS
$insert Message_Box_Equates
Declare subroutine Placedialog, Message_Box
Declare function Nica_Orders_Services
GoToEvent Event for CtrlEntId else
// Event not implemented
end
Return EventFlow or 1
//-----------------------------------------------------------------------------
// EVENT HANDLERS
//-----------------------------------------------------------------------------
Event WINDOW.CREATE(CreateParam)
ReactNo = CreateParam
Placedialog(-2, -2)
ActiveOrders = Nica_Orders_Services('GetActiveOrders', 'REACTOR', ReactNo)
For each OrderType in ActiveOrders using @VM setting dummy
Begin Case
Case OrderType _EQC 'changeover'
Set_Property(@Window:'.CHB_CHANGEOVER', 'ENABLED', True$)
Case OrderType _EQC 'initiate_idle'
Set_Property(@Window:'.CHB_IDLE_SHUTDOWN', 'ENABLED', True$)
Case OrderType _EQC 'idle'
Set_Property(@Window:'.CHB_IDLE_STARTUP', 'ENABLED', True$)
Case OrderType _EQC 'intrusive_maint'
Set_Property(@Window:'.CHB_INTRUSIVE_MAINT', 'ENABLED', True$)
Case Otherwise$
Null
End Case
Next OrderType
End Event
Event PUB_SUBMIT.CLICK()
OverrideData = ''
SelectedTypes = ''
If Get_Property(@Window:'.CHB_CHANGEOVER', 'CHECK') then
SelectedTypes = "CHANGEOVER"
end
If Get_Property(@Window:'.CHB_IDLE_SHUTDOWN', 'CHECK') then
If SelectedTypes NE '' then
SelectedTypes := @VM
end
SelectedTypes := 'INITIATE_IDLE'
end
If Get_Property(@Window:'.CHB_IDLE_STARTUP', 'CHECK') then
If SelectedTypes NE '' then
SelectedTypes := @VM
end
SelectedTypes := 'IDLE'
end
If Get_Property(@Window:'.CHB_INTRUSIVE_MAINT', 'CHECK') then
If SelectedTypes NE '' then
SelectedTypes := @VM
end
SelectedTypes := 'INTRUSIVE_MAINT'
end
If SelectedTypes EQ '' then
Message_Box(@Window, "You must select at least one prove in type!", "Error", MSG_ICON_EXCLAM$)
return
end else
OverrideData<1, 1> = SelectedTypes
end
OverrideData<2, 1> = Get_Property(@Window:'.EDB_COMMENT', 'TEXT')
If OverrideData<2, 1> EQ '' or Len(OverrideData<2, 1>) LT 4 then
Message_Box(@Window, "Your comment must be at least 4 characters!", "Error", MSG_ICON_EXCLAM$)
return
end
End_Dialog(@Window, OverrideData)
end event
Event PUB_CANCEL.CLICK()
End_Dialog(@Window, '')
end event