diff --git a/LSL2/STPROC/REACT_MODE_CHG_NG_EVENTS.txt b/LSL2/STPROC/REACT_MODE_CHG_NG_EVENTS.txt index fb9a123..4792c31 100644 --- a/LSL2/STPROC/REACT_MODE_CHG_NG_EVENTS.txt +++ b/LSL2/STPROC/REACT_MODE_CHG_NG_EVENTS.txt @@ -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 + CurrentServiceDesc = CurrentModeRecord + 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 + +