Remind operator to load PROD recipe after SPV test on HTR reactor
This commit is contained in:
parent
526b9943a0
commit
2b6e5fd2ac
@ -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
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user