Remind operator to load PROD recipe after SPV test on HTR reactor

This commit is contained in:
Chase Tucker 2024-11-05 10:58:34 -07:00 committed by Tucker Chase (CSC FI SPS MESLEO)
parent 526b9943a0
commit 2b6e5fd2ac

View File

@ -57,7 +57,7 @@ Declare function Reactor_Services, Error_Services, Logging_Services, Environme
Declare function SRP_List
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
Declare subroutine Database_Services, Override_Log_Services, SRP_List, Message_Box, Reactor_Log_Services
GoToEvent Event for CtrlEntId else
// Event not implemented
@ -253,69 +253,94 @@ Event APPLY.CLICK()
end
end else
NewNoteText = Get_Property(@Window:'.EDB_COMMENT', 'TEXT')
end
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 := ', '
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
CurrentModeRecord = Reactor_Services('GetReactCurrModeRec', ReactNo)
CurrentMode = CurrentModeRecord<REACT_MODE_NG_MODE$>
CurrentServiceDesc = CurrentModeRecord<REACT_MODE_NG_SERVICE_DESC$>
If (CurrentMode _EQC 'test_scheduled' or CurrentMode _EQC 'test_unscheduled') and CurrentServiceDesc _EQC 'spv test' then
ReactType = Xlate('REACTOR', ReactNo, REACTOR_REACT_TYPE$, 'X')
If Len(ReactType) GE 3 and ReactType[1, 3] _EQC 'HTR' then
Message = 'Remember to load the production recipe. Please find another employee to confirm this has been done.'
Verification = Dialog_Box('NDW_VERIFY_USER', @WINDOW, '':@FM:'':@FM:'':@FM:Message)
ValidVerification = Verification<1> and Verification<2> NE @User4
If ValidVerification EQ True$ then
ConfirmNote = 'Confirmed production recipe loaded'
Reactor_Log_Services('AddComment', ReactNo, ConfirmNote, Verification<2>)
end else
If Verification<1> NE True$ then
Message_Box(@Window, 'Invalid signature!', "Error", MSG_ICON_EXCLAM$)
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)
Message_Box(@Window, 'You must get another user to confirm the production recipe is loaded!', "Error", MSG_ICON_EXCLAM$)
end
Error_Services('Add', 'Post HTR SPV test recipe verification not complete')
end
end
end
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 := ', '
end
ResponseComment := ProveInType
end
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
SRP_List('Release', ProveInTypesToCancelList)
end else
Message_Box(@Window, 'You must enter a comment greater than 4 letters!', 'Error', MSG_ICON_EXCLAM$)
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)
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
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
SRP_List('Release', ProveInOrderList)
SRP_List('Release', ProveInTypeList)
end
end
end
end
EventFlow = 0
@ -477,3 +502,5 @@ return