{ "header": { "version": 1, "type": "record" }, "body": { "record1": { "<1>": "declare function msg, fieldcount, wo_mast_sched_comm\r\ndeclare subroutine end_dialog, create_note, obj_Sched\r\n\r\n$insert quote_sigs_equ\r\n$INSERT NOTIFICATION_EQU\r\n\r\nequ CrLf$ to char(13):char(10)\r\n\r\nVoid = wo_mast_sched_comm( 'SET_WO_SCHEDULED' )\r\nopen 'CONFIG' to ConfigTable else\r\n Void = msg( '', 'Unable to open CONFIG table' )\r\n end_dialog( @window, '' )\r\n return 0\r\nend\r\n\r\nMastSchedRec = ''\r\nDates = .sched_info->label\r\nconvert @fm to @vm in Dates\r\nMonth = .month->text\r\nReactorCnt = .reactor_cnt->text\r\nRestInfo = .sched_info->array\r\nMastSchedRec = Dates:@fm:Month:@fm:ReactorCnt:@fm:RestInfo\r\nwrite MastSchedRec on ConfigTable, 'WO_MAST_SCHED' else\r\n Void = msg( '', 'Unable to write WO_MAST_SCHED in CONFIG table' )\r\n end_dialog( @window, '' )\r\n return 0\r\nend\r\nunlock ConfigTable, 'WO_MAST_SCHED' else\r\n Void = msg( '', 'Unable to unlock WO_MAST_SCHED in CONFIG table' )\r\nend\r\n\r\nobj_Sched('PushConfig')\t\t;* Pushes data in CONFIG to SCHED_DET records\r\n\r\nOrigSched = get_property( @window, '@OrigSched' )\r\nCurSched = .sched_info->array\r\n\r\n* NOT USING MAST_SCHED_TODAY_DATE() CAUSE I NEED CURDAY AS WELL\r\nDayPos = mod( date(), 7 )+1\r\nDays = 'Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday'\r\nconvert ',' to @fm in Days\r\nCurDay = Days\r\nCurDate = oconv( date(), 'D4,HL' )\r\nconvert ',' to ' ' in CurDate\r\nCurDate = CurDay:' ':CurDate\r\n\r\nCurLabels = .sched_info->label\r\nlocate CurDate in CurLabels using @fm setting DayNum then\r\n * DayNum set\r\nend else\r\n * DayNum not found, today is not in the schedule\r\n DayNum = ''\r\nend\r\n\r\n* * * * * * * * * * * * * * * *\r\n\r\n* * Added loop to check 5 days in advance * * 6/25/2014 JCH\r\n\r\nStartDay \t= DayNum\r\nEndDay\t\t= DayNum + 5\r\n\r\n*FOR SchedPointer = StartDay TO EndDay\r\n\r\n*\tIF SchedPointer > 31 THEN\r\n*\t\tDayNum -= 31\r\n*\tEND ELSE\r\n*\t\tDayNum = SchedPointer\r\n*\tEND\r\n\r\n\tTodaySched = CurSched\r\n\tOTodaySched = OrigSched\r\n\tif ( DayNum <> '' ) and ( CurSched <> OrigSched ) then\r\n\t MsgToSend = ''\r\n\t for i = 1 to .reactor_cnt->text\r\n\t if TodaySched<1,i> <> OTodaySched<1,i> then\r\n\t\t\t * Today for this reactor has been modified so notify the supervisors\r\n\t \t MsgToSend := ' Reactor ':i:' has changed on ':oconv( date(), 'D2/' ):' at ':oconv( time(), 'MT' ):CrLf$\r\n\t\t end\r\n\t next i \r\n\t \r\n\t SendTo = ''\r\n\t \r\n\t IF CurDay = 'Sunday' OR CurDay = 'Monday' OR CurDay = 'Tuesday' THEN\r\n\t \r\n\t SendTo = XLATE('NOTIFICATION','MAST_SCHED_BEG',NOTIFICATION_USER_ID$,'X')\t\t\t;* Added 09/28/2005 JCH - J.C. Henry & Co., Inc\r\n\t \r\n\t END ELSE\r\n\t IF CurDay = 'Thursday' OR CurDay = 'Friday' OR CurDay = 'Saturday' THEN\r\n\t \r\n\t SendTo = XLATE('NOTIFICATION','MAST_SCHED_END',NOTIFICATION_USER_ID$,'X')\t\t;* Added 09/28/2005 JCH - J.C. Henry & Co., Inc\r\n\t \r\n\t END ELSE\r\n\t * it is Wednesday so send to both cause they alternate\r\n\t \t\r\n\t SendTo \t\t= XLATE('NOTIFICATION','MAST_SCHED_BEG',NOTIFICATION_USER_ID$,'X')\t\t;* Added 09/28/2005 JCH - J.C. Henry & Co., Inc\r\n\t SendTo<1,-1>\t= XLATE('NOTIFICATION','MAST_SCHED_END',NOTIFICATION_USER_ID$,'X')\t\t;* Added 09/28/2005 JCH - J.C. Henry & Co., Inc\r\n\t \r\n\t END\r\n\t END\r\n\t \r\n\t MsgToSend:= ' This has been modified by '\r\n\t MsgToSend:= oconv( @user4, '[XLATE_CONV,LSL_USERS*FIRST_LAST]' )\r\n\t MsgToSend:= ' on ':oconv( date(), 'D2/' ):' at ':oconv( time(), 'MTH' ):'...See Attachment.'\r\n\t Subject = 'Reactor Schedule Change Notice...'\r\n\t create_note( SendTo, 'System', Subject, MsgToSend, 'WO_MAST_SCHED', '*CENTER' )\t \r\n\tend\r\n*NEXT SchedPointer\r\n\r\n\r\n* * * * * * * * * * \r\n\r\n\r\n\r\nSCnt = fieldcount( CurSched, @fm )\r\nfor zz = 1 to SCnt\r\n CurDay = CurSched\r\n OCurDay = OrigSched\r\n\tif CurDay <> OCurDay then\r\n MsgToSend = ''\r\n\t for i = 1 to .reactor_cnt->text\r\n\t if CurDay<1,i> <> OCurDay<1,i> then\r\n\t\t\t * IF THERE IS A CAROT^ IN IT THEN SEND TO MAINTENANCE\r\n\t\t\t if index( CurDay<1,i>, '^', 1 ) then\r\n\t\t\t MsgToSend := 'Reactor ':i:' has had maintenance scheduled for ':Dates<1,zz>:'.':CrLf$\t\t \r\n\t\t\t end\r\n\t\t end\r\n\t next i \r\n\t if MsgToSend <> '' then\r\n\t SendTo = xlate( 'LISTBOX_CONFIG', 'MAINTTECH', 1, 'X' ):@vm:'BRYCE_M':@vm:'DAVE_W'\r\n\t\t MsgToSend:= 'Maintenance has been scheduled by '\r\n\t\t MsgToSend:= oconv( @user4, '[XLATE_CONV,LSL_USERS*FIRST_LAST]' )\r\n\t\t MsgToSend:= ' on ':oconv( date(), 'D2/' ):' at ':oconv( time(), 'MTH' ):'...See Attachment.'\r\n\t\t Subject = 'Maintenance Scheduled...'\r\n\t\t create_note( SendTo, 'System', Subject, MsgToSend, 'WO_MAST_SCHED', '*CENTER' )\t \r\n\t end\r\n\tend\r\nnext zz\r\n\r\n \r\nend_dialog( @window, '' )\r\nRETURN 0" } } }